mongodb 查找 排序 索引 命令

相关文章:

PyMongo--非关系型数据库mongodb入门(一步一步 版)

mongo用了一段时间了,给人一个感觉就是爽,特别是mongo shellpython又很像。

闲话不说,今天主要把几个用的mongo shell命令讲一下:

1.查找

获取表baseclick字段大于1的数据

db.base.find({'click':{"$gt":0}})

获取表base中有click字段的数据

db.base.find({'click':{"$exists":true}})

获取表base中有click字段的数据,并只显示click字段(主键是一定会显示的)

db.base.find({'click':{"$exists":true}},{'click':1})

2.排序

获取表baseclick最大的前5

db.base.find().sort({'click':-1}).limit(5)

3.索引

说到索引不得不啰嗦一句,90000万多条数据,又一个keyword_id.

每次拿keyword_id去查找,我的程序需要接近5分钟才能完成,加了索引后飙到32秒。

索引就是好啊,不过mongo应该会把索引加载到内存的,会增加内存的使用。

不用的时候可以把索引删除掉。

查看索引 db.keywords.getIndexes() 系统默认的索引是以_idkey

增加索引 db.keywords.ensureIndex({"keyword_id":1}) 可以有多个索引的

删除索引 db.keywords.dropIndex({"keyword_id":1})

4.其他

把表basekey字段的所有值去重后罗列出来,有时很有用哦

db.base.distinct('key')

园子里有一篇mongo shell命令写的很全的文章,可以看看

http://www.cnblogs.com/cxd4321/archive/2011/06/24/2089051.html

还有 http://dbchu.com/2012/09/11/97

mongo shell 还支持 javascript 想更灵活的使用的话,还得多写几行

 

1年多了,mongo最终还是被抛弃了,太吃内存,很多坑。苦b的是坑了一便,还是抛弃了。

 

原文地址:https://www.cnblogs.com/2010Freeze/p/2734275.html