1、创建索引
单键索引
db.person.createIndex({name:1})
多键索引
db.person.createIndex({name:[1,2,3,4]})
复合索引
db.person.createIndex({X:1,Y:1})
复合索引查询 db.person.find({x:1,y:2})
过期索引
db.person.createIndex({time:1},{expireAfterSeconds:10})
全文索引
db.person.createIndex({key_1:"text",key_2:"text"})
db.person.createIndex({"$**":"text"})
查询
db.person.find({$text:{$search:"solar"}}) 包含solar
db.person.find({$text:{$search:"solar mei"}}) 包含solar 或者 mei
db.person.find({$text:{$search:"solar -hua"}}) 包含solar 不包含hua
db.person.find({$text:{$search:"\"solar\"
\“so\” \"cc\""}}) 与查询
相似度查询
db.porsen.find({$text:{$search:"\"solar\" so cc"}},{score:{$meta:"textScore"}}).
db.porsen.find({$text:{$search:"\"solar\" so cc"}},{score:{$meta:"textScore"}}).sort({score:{$meta:"textScore"}}) 相似度查询 并排序
2、获取索引
db.person.getIndexes()
3、唯一性
db.person.createIndex({name:1},{unique:true/false})
true: 数据不能重复
false:数据可以重复
4、稀疏性
db.person.createIndex({name:1},{sparse:true/false})
数据记录某字段为空, 该字段索引不会创建,减少磁盘占用。
sparse:true/false
5、指定索引名称
db.person.createIndex({name:1},{name:"suoyin"})
6、过期性,(多长时间后进行删除)
db.person.createIndex({name:1},{expireAfterSeconds:10})