搜尋

首頁  >  問答  >  主體

[MongoDB效能最佳化]find的時候如何減少查詢條數

大家好,我是mongodb新人。我現在有一個Post Collection,裡面有created_at字段和creator字段,我現在想如下查詢

db.posts.find({"creator" : ObjectId("xxxxx") }).sort("-created_at").limit(10)

結果我發現資料庫遍歷了我所有的post。 無論什麼用戶都是遍歷所有post。我已經給created_at索引了。 我自己覺得應該只要搜尋部分資料庫就能回傳結果了。 請問我哪裡出了問題?

謝謝!

天蓬老师天蓬老师2755 天前678

全部回覆(2)我來回復

  • 我想大声告诉你

    我想大声告诉你2017-05-02 09:20:01

    雷雷

    回覆
    0
  • 高洛峰

    高洛峰2017-05-02 09:20:01

    簡單回答:

    db.posts.createIndex({creator: 1, created_at: -1})

    你需要了解索引相關的知識和如何使用explain來了解效能問題。

    回覆
    0
  • 取消回覆