ObjectId (オブジェクトID)

最終更新:2026-10-09

ObjectId (オブジェクトID)

ObjectId は MongoDB のデフォルトの _id 型です。12バイトの一意な識別子で、4バイトのタイムスタンプ + 5バイトのランダム + 3バイトのカウンタで構成されます。_id なしでドキュメントが挿入されると自動生成され、分散システム全体で一意であり、作成時刻を埋め込んでいます(取り出し可能)。

カテゴリBSON 型
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

// 自動生成
{ _id: ObjectId("64c8a1b2f3d4e5a6b7c8d9e0") }
// タイムスタンプを取得
ObjectId("...").getTimestamp()

戻り値:ObjectId インスタンスを返します。24 桁の16進文字列として表示されます

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// ObjectId: 挿入後に確認する
const oid = ObjectId()
print(oid.getTimestamp())  // 作成時刻

出力:

2026-09-25T08:30:00Z

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Q_id にオートインクリメントの整数を使えますか?
A使えます。挿入時に _id を手動で指定します。ただしオートインクリメント整数は分散書き込みでは調整が必要です。ObjectId はまさにそれを避けるために存在します。
QObjectId の文字列はどんな形式ですか?
A24文字の16進数です。例: 64c8a1b2f3d4e5a6b7c8d9e0。2文字が1バイトに対応します。
QObjectId は時刻でソートできますか?
Aおおよそできます。最初の4バイトがタイムスタンプなので、_id でのソートは挿入順にほぼ従いますが、厳密な時刻ではありません。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%