MongoDBが "_id"フィールドを計算するためのアルゴリズムとは何ですか?それは増分であるように見えます。MongoDBに新しく挿入されたドキュメントは、確実に古いドキュメントよりも "大きな" _idを持っていますか?
「_id」フィールドをソートとして並べ替えても安全でしょうか?
MongoDBが "_id"フィールドを計算するためのアルゴリズムとは何ですか?それは増分であるように見えます。MongoDBに新しく挿入されたドキュメントは、確実に古いドキュメントよりも "大きな" _idを持っていますか?
「_id」フィールドをソートとして並べ替えても安全でしょうか?
ウェイIDは、hereと記載されています。文字列の先頭がタイムスタンプに与えられていることが分かります。したがって、idの順序は挿入の順番に相当します(異なるマシン間の時間のずれを考慮しない場合)。
挿入順に並べ替える必要がある場合は、タイムスタンプまたはインクリメンタルカウンタ用の独自のフィールドを追加する必要があります。断片化された設定では、_idによる並べ替えは機能しない可能性があります。
合意。 IDがどのように生成されるか記述された方法があっても、それらはランダムとみなされるべきです。 – Stiivi
これは厳密には当てはまりません。 ObjectIdには、* local * machineの時間が先頭の部分として使用されるハード仕様があります。同じマシンからは、異なるマシンから1秒単位で注文が保証されます。この保証はもはや存在しません。彼らがそれを利用できるかどうかを判断するのは開発者次第です。 ObjectIdを完全にランダムにすることは、適切ではあるが必ずしもそうとは限りません。 –