mongo学习笔记 -索引 -主键
2016-02-15 00:00
253 查看
db.user.ensureIndex({"name":1})
表示在user集合的name键创建一个索引,这里的1表示索引创建的方向,可以取值为1和-1
在这里面,我们没有给索引取名字,mongodb会为我们取一个默认的名字,规则为keyname1_dir1_keyname2_dir2...keynameN_dirN
keyname表示键名,dir表示索引的方向,例如,上面的例子我们创建的索引名字就是name_1
复合索引
db.imooc_2.insert({x:[1,2,3,4,5]})
多键索引
db.imooc_2.insert({x:1,y:2,z:3})
过期索引
db.imooc_2.ensureIndex({time:1},{expireAfterSeconds:30}) //expireAfterSeconds为过期时间 (秒)存储的字段类型不能为时间戳 只能为时间格式ISODate或ISODate数组(有一个到时间就会删除)否则不能被自动删除 hui
不能为复合索引
删除时间不是精确的 删除进程60秒才跑一次 删除还需要时间
全文索引
db.local_collection.ensureIndex({x:"text"})
[b]db.local_collection.ensureIndex({x:"text",s:"text"})
[/b]
[b][b]db.local_collection.ensureIndex({$**:"text"}) //对所有字段创建全文索引查找[/b][/b]
[b][/b]
[b][b]全文索引搜索数据方法[/b][/b]
[b][b]db.imooc_2.find({$text:{$search:"pp"}})[/b][/b]
[b][b]db.imooc_2.find({$text:{$search:"pp ll xx"}})[/b][/b]
[b][b]不包含某个值[/b][/b]
[b][b]db.imooc_2.find({$text:{$search:"pp ll -xx"}})[/b][/b]
[b][b]既包含又包含[/b][/b]
[b][b]db.imooc_2.find({$text:{$search:"\"aa\" \"rr\" \"gg\""}})[/b][/b]
[b][/b]
[b][b]全文索引相似查询[/b][/b]
[b][b]db.imooc_2.find({$text:{$search:"aa dd"}},{score:{$meta:"textScore"}})[/b][/b]
[b][b]相似度排序[/b][/b]
[b][b]db.imooc_2.find({$text:{$search:"aa dd"}},{score:{$meta:"textScore"}}).sort({score:{$meta:"textScore"}})[/b][/b]
[b][b]全文索引使用限制[/b][/b]
[b][b]每次查询只能制定一个$text查询[/b][/b]
$text查询不能出现在$not查询中
查询中如果包含了$text,hint不再起作用
全文索引还不支持中文
[b][/b]
[b][b]唯一主键[/b][/b]
[b][b]db.order_app_site.ensureIndex({"app_id":1},{"unique":true})[/b][/b]
表示在user集合的name键创建一个索引,这里的1表示索引创建的方向,可以取值为1和-1
在这里面,我们没有给索引取名字,mongodb会为我们取一个默认的名字,规则为keyname1_dir1_keyname2_dir2...keynameN_dirN
keyname表示键名,dir表示索引的方向,例如,上面的例子我们创建的索引名字就是name_1
复合索引
db.imooc_2.insert({x:[1,2,3,4,5]})
多键索引
db.imooc_2.insert({x:1,y:2,z:3})
过期索引
db.imooc_2.ensureIndex({time:1},{expireAfterSeconds:30}) //expireAfterSeconds为过期时间 (秒)存储的字段类型不能为时间戳 只能为时间格式ISODate或ISODate数组(有一个到时间就会删除)否则不能被自动删除 hui
不能为复合索引
删除时间不是精确的 删除进程60秒才跑一次 删除还需要时间
全文索引
db.local_collection.ensureIndex({x:"text"})
[b]db.local_collection.ensureIndex({x:"text",s:"text"})
[/b]
[b][b]db.local_collection.ensureIndex({$**:"text"}) //对所有字段创建全文索引查找[/b][/b]
[b][/b]
[b][b]全文索引搜索数据方法[/b][/b]
[b][b]db.imooc_2.find({$text:{$search:"pp"}})[/b][/b]
[b][b]db.imooc_2.find({$text:{$search:"pp ll xx"}})[/b][/b]
[b][b]不包含某个值[/b][/b]
[b][b]db.imooc_2.find({$text:{$search:"pp ll -xx"}})[/b][/b]
[b][b]既包含又包含[/b][/b]
[b][b]db.imooc_2.find({$text:{$search:"\"aa\" \"rr\" \"gg\""}})[/b][/b]
[b][/b]
[b][b]全文索引相似查询[/b][/b]
[b][b]db.imooc_2.find({$text:{$search:"aa dd"}},{score:{$meta:"textScore"}})[/b][/b]
[b][b]相似度排序[/b][/b]
[b][b]db.imooc_2.find({$text:{$search:"aa dd"}},{score:{$meta:"textScore"}}).sort({score:{$meta:"textScore"}})[/b][/b]
[b][b]全文索引使用限制[/b][/b]
[b][b]每次查询只能制定一个$text查询[/b][/b]
$text查询不能出现在$not查询中
查询中如果包含了$text,hint不再起作用
全文索引还不支持中文
[b][/b]
[b][b]唯一主键[/b][/b]
[b][b]db.order_app_site.ensureIndex({"app_id":1},{"unique":true})[/b][/b]
相关文章推荐
- django创建公共页
- 《Go语言编程》中calc修改后可在Windows执行的源码
- Netty与Google的protobuf使用
- unable to start the virtual device the virtual device got no ip address一个解决方法
- django时区
- poj 3107 Godfather 求树的重心
- 生成二维码 及 添加外边框和中间logo
- 航电3635-Dragon balls
- go打印堆栈
- Google Collections 、guava 简单使用
- Django使用Ajax实现页面无刷新评论回复功能
- soapserver的”looks like we got no XML document“解决方法
- Django实现国际化的步骤
- django导出excel
- Bellman-Ford Algorithm and Dijkstra Algorithm
- GOKit全缓动类型gif列表
- 在Sublime Text里开发go
- GoLang channel 用法转的
- go环境配置
- 越狱Season 1-Episode 21: Go