MongoDB ドキュメントのフィールド ID または _ID を使用する場合、何か違いはありますか?
私は通常「_id」を使用するのですが、ドキュメントで次の sort({id:-1}) を見たので、これを質問します。http://www.mongodb.org/display/DOCS/Optimizing+Object+IDs#OptimizingObjectIDs-Sortbyidtosortbyinsertiontime
編集
結局、ドキュメントは間違っていました。
ベストアンサー1
これはドキュメントの単なるタイプミスだと思います。 フィールド_id
はすべてのドキュメントの主キーです。 と呼ばれ_id
、 経由でもアクセスできますid
。 キーを使用しようとすると、エラーがid
発生する可能性がありますillegal ObjectId format
。
このセクションは、自動的に生成されたオブジェクトIDがタイムスタンプで始まるため、ドキュメントを自動的に並べ替えることができることを示しています。これは、_id
すべてのコレクションで自動的にインデックス付けされるため、非常に便利です。http://www.mongodb.org/display/DOCS/Object+IDs詳細については、「BSON ObjectID 仕様」を参照してください。
BSON ObjectID は、4 バイトのタイムスタンプ (エポックからの秒数)、3 バイトのマシン ID、2 バイトのプロセス ID、および 3 バイトのカウンターで構成される 12 バイトの値です。タイムスタンプ フィールドとカウンター フィールドは、BSON の他の部分とは異なり、ビッグ エンディアンで保存する必要があることに注意してください。