並べ替え順序を指定せずにMongofind()クエリを実行すると、データベースは結果を並べ替えるために内部的に何を使用しますか?
mongo Webサイトのドキュメントによると:
パラメータなしでfind()を実行すると、データベースはオブジェクトを自然な順序で返します。
標準のテーブルの場合、順序は挿入順序に近いことが多いものの、その順序が保証されていないため、自然な順序は特に有用ではありません。ただし、上限付きコレクションの場合、自然な順序が挿入順序であることが保証されます。これは非常に便利です。
ただし、標準のコレクション(上限のないコレクション)の場合、結果を並べ替えるためにどのフィールドが使用されますか?それは_idフィールドまたは何か他のものですか?
編集:
基本的に、私が得ようとしているのは、次の検索クエリを実行した場合です。
db.collection.find({"x":y}).skip(10000).limit(1000);
2つの異なる時点(t1とt2)で、異なる結果セットが得られますか?
- t1とt2の間に追加の書き込みがなかった場合はどうなりますか?
- t1とt2の間に新しい書き込みがあったのはいつですか?
- t1とt2の間に追加された新しいインデックスはありますか?
一時データベースでいくつかのテストを実行しましたが、得られた結果は3つのケースすべてで同じ(はい)ですが、確認したかったのですが、テストケースが完全ではなかったと確信しています。