需要一個單一的查詢獲取最新的文件 - MongoDB的單查詢MongoDB中
我有一個MongoDB的集合這樣,
db.file_info.find()
{ "_id" : A, "fileID" : 0, "size" : 126, "version" : 1}
{ "_id" : B, "fileID" : 1, "size" : 126, "version" : 1}
{ "_id" : C, "fileID" : 2, "size" : 121, "version" : 1}
{ "_id" : D, "fileID" : 1, "size" : 124, "version" : 2}
{ "_id" : E, "fileID" : 3, "size" : 125, "version" : 2}
{ "_id" : F, "fileID" : 2, "size" : 120, "version" : 3}
{ "_id" : G, "fileID" : 4, "size" : 122, "version" : 3}
我要查詢最新版本文件ID的按版本排序。
我需要這樣的結果,
{ "_id" : G, "fileID" : 4, "size" : 122, "version" : 3}
{ "_id" : E, "fileID" : 3, "size" : 125, "version" : 2}
{ "_id" : F, "fileID" : 2, "size" : 120, "version" : 3}
{ "_id" : D, "fileID" : 1, "size" : 124, "version" : 2}
{ "_id" : A, "fileID" : 0, "size" : 126, "version" : 1}
我找不到這使上述結果的查詢。目前,我們正在解決這個問題,因爲這種方式:
db.file_info.find({"version":{$lte:3}}).sort({"version":1});
它會列出這比第3版。較小的有序所有文件然後,我們正在處理的結果集的存儲和獲取最新版本。 但是這對於較大的收藏不可擴展。如果我們可以將它作爲單個查詢執行,那對我的項目會更好。
感謝您的答覆。 – user3879526