Как я могу получить последние 50 документов в mongoDB?

Как я могу получить последние 50 документов в mongoDB?

У меня есть коллекция, созданная

db.createCollection("collection",{capped:true, size:300000});

из этой "коллекции"

Я хотел бы иметь последние 50 документов вместо первых 50 документов.

Я знаю, что я могу получить первые 50 документов, используя

db.collection.find().limit(50);

Но как я могу получить последние 50 документов?

Можно ли это сделать просто с помощью API MongoDB или я должен реализовать это с помощью программирования?

Ответы

Ответ 2

это должно сделать следующее:

db.collection.find().sort({$natural: -1}).limit(50);

Ответ 3

Последние N добавленных записей, от менее недавних до самых последних, можно увидеть с помощью этого запроса:

db.collection.find().skip(db.collection.count() - N)

В вашем случае 50

db.collection.find().skip(db.collection.count() - 50)

Ответ 4

Вам нужны последние 50 документов из коллекции Монго, так что это запрос

db.collection('collectionName').find().sort({$natural: -1}).limit(50);

// sort({$natural: -1}) for the last fields (desecnding)
// limit(50) because you need only 50 fields