Mongodb

MongoDB:指定預設排序順序?

  • March 12, 2022

我正在使用 MongoDB v5。

我的大部分收藏都有時間數據,所以每個文件至少有一個日期時間。自然,我通常對最新數據最感興趣,但預設情況下,mongo 似乎按插入順序返回文件。

如何更改此設置,以便預設情況下首先顯示最新數據?

我目前要麼手動添加排序,要麼為每個定義了排序的集合手動創建視圖。

如果這有什麼不同,我正在使用 MongoDB Compass;如有必要,我願意考慮使用不同的工具。

預設情況下,mongo 似乎按插入順序返回文件。

未指定排序順序時,MongoDB 以自然順序返回文件。自然順序是未定義的“發現結果”,可能看起來與插入順序一致,但絕對不能保證或可預測。

我目前要麼手動添加排序,要麼為每個定義了排序的集合手動創建視圖。

這些方法中的任何一種都可以工作,儘管為每個集合設置一個視圖聽起來需要更多的努力。我假設您正在創建索引來對查詢結果進行排序以支持有效的查詢。

我不知道有一個工具可以保存每個集合的預設排序順序,但您可以將此作為您最喜歡的工具的功能建議送出(例如:指南針回饋)。Compass 功能建議(例如保存和恢復帶有查詢和排序設置的選項卡)也可以解決您的案例,值得點贊和關注。

如果你有額外的動力,你總是可以為 MongoDB Shell 或 Compass 編寫一個外掛。其範圍將比 DBA Stack Exchange 問題涉及更多,並且最好在MongoDB 開發人員社區論壇的開發人員工具類別中進行討論。

引用自:https://dba.stackexchange.com/questions/307836