开发者社区> 问答> 正文

mongodb find的时候如何减少查询条数

我现在有一个Post Collection, 里面有created_at字段和creator字段,我现在想如下查询
db.posts.find({"creator" : ObjectId("xxxxx") }).sort("-created_at").limit(10)
结果我发现数据库遍历了我所有的post。 无论什么用户都是遍历所有post。我已经给created_at索引了。 我自己觉得应该只要搜索部分数据库就能返回结果了。 请问是我哪里出了问题?

展开
收起
蛮大人123 2016-06-15 14:59:43 2314 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    简单地回答:
    db.posts.createIndex({creator: 1, created_at: -1})
    你需要了解索引相关的知识和如何使用explain来解决性能问题。

    2019-07-17 19:39:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
MongoDB多数据中心的方案选型之路 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载