MongoDBで複数のドキュメントを一度に挿入するinsert()の使い方
MongoDBで複数のドキュメントを一括挿入する方法
MongoDBで複数のドキュメントを一度にコレクションへ挿入するには、insert()メソッドを使用します。配列形式で複数のドキュメントを渡すことで、1回のコマンド実行でまとめて登録できます。
複数ドキュメントを挿入するサンプルコード
以下の例では、demo689というコレクションを作成し、3件のクライアント情報(名前・年齢・国)を同時に挿入しています。
> db.demo689.insert([
... {ClientName:"Chris","ClientAge":34,"ClientCountryName":"US"},
... {ClientName:"David","ClientAge":28,"ClientCountryName":"UK"},
... {ClientName:"Bob","ClientAge":39,"ClientCountryName":"AUS"},
... ]);
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 3,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})実行結果として返されるBulkWriteResultの"nInserted" : 3は、3件のドキュメントが正常に挿入されたことを示しています。エラーがなければwriteErrorsは空の配列になります。
find()メソッドで挿入結果を確認する
挿入したすべてのドキュメントを確認するには、find()メソッドを使います。
> db.demo689.find();
上記のコマンドを実行すると、以下のような出力が得られます。
{ "_id" : ObjectId("5ea580dfa7e81adc6a0b3967"), "ClientName" : "Chris", "ClientAge" : 34, "ClientCountryName" : "US" }
{ "_id" : ObjectId("5ea580dfa7e81adc6a0b3968"), "ClientName" : "David", "ClientAge" : 28, "ClientCountryName" : "UK" }
{ "_id" : ObjectId("5ea580dfa7e81adc6a0b3969"), "ClientName" : "Bob", "ClientAge" : 39, "ClientCountryName" : "AUS" }ポイントのまとめ
insert()にドキュメントの配列を渡すと、一括挿入(バルクインサート)が可能です。- 各ドキュメントには自動的に一意の
_id(ObjectId)が割り当てられます。 - 挿入結果は
BulkWriteResultオブジェクトで確認でき、成功件数やエラーの有無がわかります。
なお、新しいバージョンのMongoDBでは、単一ドキュメントの挿入にはinsertOne()、複数ドキュメントの一括挿入にはinsertMany()の使用が推奨されています。用途に応じて使い分けるとよいでしょう。
-
Windows 10で異なるタイムゾーンの時計を追加・表示する方法
海外に住む家族や取引先とのやり取りがある方なら、複数のタイムゾーンの現在時刻を常に把握したいと感じることは多いはずです。Windowsでは追加の時計を簡単に設定でき、Windows 10ではさらに便利な機能が使えるようになりました。 この記事では、Windows 10で追加時計を設定する基本手順に加え、Windows 10ならではの便利なテクニックもご紹介します。これらを活用すれば、複数の地域の時刻管理がぐっと楽になります。 追加時計は最大2つまで設定可能 ローカルの時刻とは別に、追加の時計を最大2つまで登録できます。まず、画面右下のシステムトレイにある日付と時刻をクリックし、表示されたカレ
-
MySQLのSELECT DISTINCTを複数カラムに適用する方法
MySQLでSELECT DISTINCTを複数カラムに使うには? MySQLのSELECT DISTINCTは、通常1つのカラムの重複を排除するために使われますが、複数のカラムを組み合わせて重複行を除外したい場合には、サブクエリやGROUP BYを活用したテクニックが必要になります。 この記事では、具体的なサンプルテーブルを作成しながら、複数カラムに対して実質的にDISTINCTを実現する方法を解説します。 1. サンプルテーブルの作成 まず、講師(Instructor)、受講生(Student)、技術科目(TechnicalSubject)の情報を格納するテーブルを作成します。テーブル作