insertOne() (単一ドキュメントの挿入)

最終更新:2026-10-09

insertOne() (単一ドキュメントの挿入)

insertOne() は単一のドキュメントをコレクションに挿入します。ドキュメントに _id が無い場合、MongoDB が ObjectId を自動生成します。結果には insertedId と acknowledged が含まれます。insertMany() とは異なり、1回のラウンドトリップで行われる、最も直接的でシンプルな単一ドキュメント書き込みです。

カテゴリ書き込み
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

db.<collection>.insertOne(<document>, { writeConcern: <options> })

⚙️ パラメータ

ドキュメント挿入する BSON ドキュメント。ネストしたフィールドや配列を含められます。

戻り値:WriteResult: { acknowledged, insertedId }

▶ 例

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

// insertOne: 単一のユーザーを挿入する
db.users.insertOne({
  name: "Alice",
  age: 21,
  address: { city: "Beijing" }
})

出力:

{
  acknowledged: true,
  insertedId: ObjectId("64c8a1b2f3d4e5a6b7c8d9e0")
}

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

QinsertOne で配列を挿入できますか?
Aできません。最上位は必ずドキュメント(オブジェクト)である必要があります。配列はドキュメント内のフィールド値としては問題ありません。
QinsertOne で _id を省略するとどうなりますか?
AMongoDB が _id 用に ObjectId を自動生成します。独自の _id を指定することもできますが、コレクション内で一意である必要があり、重複すると重複キーエラーが発生します。
QinsertOne で writeConcern を指定できますか?
Aできます。第2引数に { writeConcern: { w: 'majority' } } のようなオプションを渡して確認レベルを制御できます。指定しない場合はコレクションまたはセッションの設定が適用されます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%