1. ホーム
  2. mongodb

MongoDB の "id" と "_id" フィールドの違い

2023-08-24 10:06:55

質問

MongoDBのドキュメントからフィールドIDや_IDを使用することに違いはありますか?

私は通常"_id"を使うのですが、ドキュメントでこのsort({id:-1})を見たので質問させていただきました。 http://www.mongodb.org/display/DOCS/Optimizing+Object+IDs#OptimizingObjectIDs-Sortbyidtosortbyinsertiontime

EDIT

ドキュメントが間違ってたことが判明。

どのように解決するのですか?

ドキュメントの誤記と思われます。その _id フィールドはすべてのドキュメントの主キーです。これは _id でアクセス可能で、さらに id . を使おうとすると id キーを使おうとすると illegal ObjectId format のエラーになります。

そのセクションは、自動的に生成された ObjectID がタイムスタンプで始まることを示すだけなので、ドキュメントを自動的にソートすることが可能です。これはかなりクールです。 _id はすべてのコレクションで自動的にインデックス化されます。参照 http://www.mongodb.org/display/DOCS/Object+IDs を参照してください。特に、"BSON ObjectID Specification"を参照してください。

<ブロッククオート

BSON ObjectID は、4バイトのタイムスタンプ(エポックからの秒数)、3バイトのマシンID、2バイトのプロセスID、3バイトのカウンターで構成される12バイトの値です。タイムスタンプとカウンターのフィールドはBSONの他の部分とは異なり、ビッグエンディアンで保存されなければならないことに注意してください。