8

meteors mongodbでN個の最新レコードを取得するにはどうすればよいですか?

私は通常の mongodb:db.foo.find().sort({_id:1});でこのようにできることを知っているので、これは meteor: で動作すると思いましcollection.find({chatroom: Session.get("room")}, {sort: {_id:1}, limit: N })た。

ただし、これはいくつかの「ランダムな」ドキュメントのみを返します。_id= aaaaa と _id= aaaab のように、_id 値が最も小さい 10 個のレコードだと思います。

ここで何が欠けていますか?通常のmongodbでは超簡単?!

4

2 に答える 2

9

$naturalmongoDB のソート指定子を使ってみてください。

collection.find({chatroom: Session.get("room")}, {sort: {$natural : 1}, limit: N });

自然順序は、データベースがドキュメントをディスクに格納する順序です。通常は広告掲載オーダーです。

date_created通常の並べ替えには valueを使用します。update既存のドキュメントに対して操作を実行すると、自然な順序が変わることがあるためです。

于 2013-06-26T11:59:13.437 に答える