ドキュメントの挿入
MongoDB shell には、コレクションにドキュメントを挿入するための次のメソッドが用意されています。
単一のドキュメントを挿入するには、
db.collection.insertOne()
を使用します。複数のドキュメントを挿入するには、
db.collection.insertMany()
を使用します。
このページの例は、Atlas サンプル データセットを参照しています。無料の MongoDB Atlas クラスターを作成し、そのクラスターにサンプル データを入力して、以下の例に従うことができます。詳細については、「Atlas スタートガイド」を参照してください。
単一ドキュメントのインサート
db.collection.insertOne()
は、コレクションに単一のドキュメントを挿入します。ドキュメントに _id
フィールドが指定されていない場合、MongoDB は ObjectId 値を持つ_id
フィールドを新しいドキュメントに追加します。挿入動作を参照してください。
例
新しいドキュメントを sample_mflix.movies
コレクションに挿入するには、次のようにします。
use sample_mflix db.movies.insertOne( { title: "The Favourite", genres: [ "Drama", "History" ], runtime: 121, rated: "R", year: 2018, directors: [ "Yorgos Lanthimos" ], cast: [ "Olivia Colman", "Emma Stone", "Rachel Weisz" ], type: "movie" } )
insertOne()
は新しく挿入されたドキュメントの _id
フィールド値を含むドキュメントを返します。
挿入されたドキュメントを取得するには、 以下のコレクションを読み取ります。
db.movies.find( { title: "The Favourite" } )
挿入したドキュメントが確実に返されるようにするには、代わりに _id
でクエリを実行します。
複数のドキュメントの挿入
db.collection.insertMany()
はコレクションに複数のドキュメントを挿入でき、ドキュメントの配列をメソッドに渡します。ドキュメントで _id
フィールドが指定されていない場合、MongoDB は ObjectId 値を持つ _id
フィールドを各ドキュメントに追加します。挿入動作を参照してください。
例
2 つの新しいドキュメントを sample_mflix.movies
コレクションに挿入するには、次のようにします。
use sample_mflix db.movies.insertMany([ { title: "Jurassic World: Fallen Kingdom", genres: [ "Action", "Sci-Fi" ], runtime: 130, rated: "PG-13", year: 2018, directors: [ "J. A. Bayona" ], cast: [ "Chris Pratt", "Bryce Dallas Howard", "Rafe Spall" ], type: "movie" }, { title: "Tag", genres: [ "Comedy", "Action" ], runtime: 105, rated: "R", year: 2018, directors: [ "Jeff Tomsic" ], cast: [ "Annabelle Wallis", "Jeremy Renner", "Jon Hamm" ], type: "movie" } ])
insertMany()
は、新しく挿入されたドキュメントの _id
フィールド値を含むドキュメントを返します。
コレクション内のドキュメントを読むには、次のようにします。
db.movies.find( {} )
挿入動作
ドキュメントを挿入する際の特定の動作について詳しくは、「挿入動作」を参照してください。
詳細
ドキュメントをコレクションに挿入する例をもっと見るには、
insertOne()
およびdb.collection.insertMany()
メソッドのページを参照してください。コレクションにドキュメントを挿入する方法をすべて見るには、その他の挿入方法」を参照してください。