15

mongoDB で最後の 50 個のドキュメントを取得するにはどうすればよいですか?

私はによって作られたコレクションを持っています

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

この「コレクション」から

最初の 50 個のドキュメントを取得する代わりに、最後の 50 個のドキュメントを取得したいと考えています。

を使用して最初の 50 個のドキュメントを取得できることを知っています

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

しかし、どうすれば最新の 50 個のドキュメントを取得できますか?

これは MongoDB API で簡単に実行できますか、それともプログラミングで実装する必要がありますか?

4

3 に答える 3

22

これでうまくいくはずです:

db.collection.find().sort({$natural: -1}).limit(50);
于 2014-01-09T15:50:20.350 に答える
1

最近追加された N 個のレコードは、最近のものから新しいものまで、次のクエリで表示できます。

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

あなたの場合 50

db.collection.find().skip(db.collection.count() - 50)
于 2018-04-26T10:30:12.420 に答える
0

mongo コレクションから最後の 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 
于 2018-12-14T10:01:12.300 に答える