3

MongoDB キャップ付きコレクションでは、_idフィールドが挿入の順序で単調に増加するという保証はありますか? そうでない場合、特定のドキュメントの後に挿入されたすべてのドキュメントを照会するにはどうすればよいですか? 自然な順序を活用できるはずなので、インデックスは必要ありません。

4

1 に答える 1

3

ObjectId の一部はタイムスタンプです。そのため、ObjectId が常に同じマシンで生成される (または時間に一貫性がある) 場合、単調に増加する値が保証されます。ただし、タイムスタンプはミリ秒ではなく秒単位です。したがって、値の同じ 2 番目の順序内は保証されません。

キャップ付きコレクションは、特別な並べ替えオプションをサポートしています: $natural. つまり、ドキュメントは挿入順に返されます。

これをテーラブルカーソルと組み合わせて、インデックスを使用せずに新しく挿入されたドキュメントを継続的にフェッチできます (それが必要な場合)。

于 2012-06-10T09:59:08.400 に答える