账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    mongodb查询一个文档与一个字段的差别
    122
    0
    1. mongodb集群复制集分片部署环境中. 中有一个collection device, device有2个索引a,b
    2. 有一条查询, 两种写法
    // 耗时很稳定1ms. 根据索引a查询b字段的内容(b也是索引,返回结果为1条,内容在45字符左右)
    db.getCollection('device').find({'a':'value'},{'b':1});
    // 不稳2~2000ms都有可能, 根据索引a查询整个文档(返回结果为1条,内容在600字符左右)
    db.getCollection('device').find({'a':'value'});

    问题1: 求科普下整个查询的流程?
    问题2: 同样走索引,返回文档也都是一条,只有返回内容大小有一些差异,但结果却天差地别.这其中的原理又是什么?

    问题补充:

    @Mongoing中文社区 大神,非常感谢你的回答. 本次提问其实是 mongodb走了索引,依旧是慢查询,请看执行计划 问题的续集(你在这个问题里也有回答. 叩谢).

    上个问题的解决方式是将第2个查询语句改成第1个查询语句的方式,在我项目里面的到很好的效果.
    所以非常想知道这两个查询直接的联系与不同点,以及整个查询的流程.
    另外,能不能推荐几本好的mongodb的书(中文版的最好.英文不太好).羡慕你很专业,感觉有知识真的好酷.

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • iii!iii 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部