zoukankan      html  css  js  c++  java
  • 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的是坑了一便,还是抛弃了。

     

  • 相关阅读:
    leetcode -- Triangle
    leetcode difficulty and frequency distribution chart
    leetcode -- Sqrt(x)
    leetcode -- Climbing Stairs
    leetcode -- Populating Next Right Pointers in Each Node II
    leetcode -- Populating Next Right Pointers in Each Node
    ThreadLocal
    Thread
    进程或者线程状态
    ThreadGroup
  • 原文地址:https://www.cnblogs.com/2010Freeze/p/2734275.html
Copyright © 2011-2022 走看看