Koleksiyondan en son belgeleri seçmek istiyorum. Bu sorudan yanıt mongodb: how to get the last N records?, sorgundaki işlem sırasının önemli olduğunu göstermektedir. Ancak durum böyle görünmemektedir (belki de Mongo 2.4 piyasaya sürüldüğünden beri). Aşağıdaki sorguların ikisini de denedim ve Mongo'nun önce limiti uyguladıktan sonra sıralama yapması gerekiyor.Mongo'ya sonuçları sınırlamadan önce bir koleksiyonu sıralamasını nasıl söylüyorsunuz?
Sorgu 1
myCollection.find().sort({ '$date': 1 }).limit(50, callback);
Sorgu 2
myCollection.find().limit(50).sort({ '$date': 1 }, callback);
Ne ilk sıralamak ve ikinci sınırlamak için mongo söylemek doğru sorguyu olurdu?
DÜZENLEME --- İşte koleksiyonu
{
_id: ObjectId("517eb0dddbab79c74700005d"),
audioFiles: [
{
audioFileName: "C64FEFA8-DD43-40A1-8996-35948F3438BF-6896-0000027BD4A59D91",
audioLanguage: "English",
date: ISODate("2013-05-21T16:23:04.006Z"),
flag: "1",
user: "36C4DEB6-C13D-4211-94B5-CC4DD993ECF1-6896-00000278FA7B08EC"
},
{
audioFileName: "994B6DF6-73B5-458F-912A-FF67A84534B2-23532-0000020000000000",
audioLanguage: "English",
date: ISODate("2013-05-27T10:45:04.107Z"),
flag: "1",
user: "9D7BB3F4-371B-4F2A-8DA2-0C4CE8B4E16D-974-0000000000000000"
}
],
date: ISODate("2013-04-29T17:41:49.101Z"),
imageFileName: "SteamLokomotive0498",
random: 0.6750695831142366,
thumbFileName: "SteamLokomotive0498_150x150",
user: "62923D8E-00CE-4F0C-AECA-3010D78FC9CE-226-0000000000000000",
userLanguagePref: "Cantonese"
}