本記事では、MongoDBでコレクションに対してデータ(ドキュメント)を追加する方法について解説しています。
MongoDBの学習におすすめ参考書
RDBエンジニアでもできる!MongoDBの構築と運用入門
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
後輩ちゃん
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
データ(ドキュメント)を追加する
データを追加するには、「db.collection.insertOne()」「db.collection.insertMany()」「db.collection.insert()」の3つの方法があります。
データを追加するメソッドの違い
- insertOne():単一データを追加
- insertMany():複数データを追加
- insert():単一データ・複数データの両方を追加
以降の解説では、insertOne()とinsertMany()の機能を兼ね備えたdb.collection.insert()を使用してデータを追加する方法について解説しています。
単一データ(ドキュメント)を追加
単一データを追加する方法は以下のとおりです。
db.collection.insert({key: value})
メソッドの解説
- collection:データを追加したいコレクションを指定
- key:データと紐付けるキー
- value:データの値
実際に単一データを追加した実行結果は以下のとおりです。
> db.person.insert({name: "taro"})
WriteResult({ "nInserted" : 1 })
> db.person.find()
{ "_id" : ObjectId("62c973c89ca59944c7c38a61"), "name" : "taro" }
_idを何も指定しない場合、MongoDB側で自動に一意のキーを割り振ります。
複数データ(ドキュメント)を追加
単一データを追加する方法は以下のとおりです。
db.collection.insert([{key: value}, {key: value}])
基本的な使い方は単一データを挿入する時と同じで、異なる点は配列の中にオブジェクトを作成していることです。このような形にすることで、複数データを追加することが出来ます。
実際に複数データを追加した実行結果は以下のとおりです。
> db.person.insert([{name: "taro"}, {name: "ken"}])
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 2,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
> db.person.find()
{ "_id" : ObjectId("62c975d09ca59944c7c38a62"), "name" : "taro" }
{ "_id" : ObjectId("62c975d09ca59944c7c38a63"), "name" : "ken" }