0
全部,Mongodb索引建議
我有一個帶有以下字段的mangodb集合。
- _ID
- 標題
- 說明
- 標籤,陣列
我已經創建上_id和標籤字段2索引。我創建了索引供人們在關鍵字的幫助下搜索內容。
我已經創建的索引與標籤:-1,顯示最新插入的記錄首次證明。但即使在它之後它按照_id的升序顯示。
如何創建標籤領域的指數顯示最後插入第一個在同一時間,以顯示它應該允許我對標籤搜索領域更快。
全部,Mongodb索引建議
我有一個帶有以下字段的mangodb集合。
我已經創建上_id和標籤字段2索引。我創建了索引供人們在關鍵字的幫助下搜索內容。
我已經創建的索引與標籤:-1,顯示最新插入的記錄首次證明。但即使在它之後它按照_id的升序顯示。
如何創建標籤領域的指數顯示最後插入第一個在同一時間,以顯示它應該允許我對標籤搜索領域更快。
如果_id
場是默認反映插入順序,並且要通過降插入順序查詢所有與特定標籤的文件,你可以使用如下查詢:
find({ Tags : $value }).sort({ _id : -1 })
對於此查詢,您可以在{Tags:1,_id:-1}上創建複合索引。所有具有相同標籤的文檔將按照降序插入順序進行排序,並且此索引應該適用於此查詢。
請注意,如果你是在做標記範圍查詢,如:
find({ Tags : { $in : [ $value1, $value2 ] }}).sort({ _id : -1 })
find({ Tags : { $gt : $value}}).sort({ _id : -1})
這將無法使用該索引到結果文檔進行排序,並需要在內存中對結果進行排序。您可以使用.explain(true)運行查詢來檢查查詢計劃。如果scanAndOrder
爲真,則表示查詢無法使用索引中文檔的順序來返回排序結果。
也有一些文件和博客相關的指標,我建議你閱讀: