MongoDBでは、db.collection.insertOne()
メソッドは、単一のドキュメントをコレクションに挿入します。
collection
partは、ドキュメントを挿入するコレクションの名前です。
例
pets
というコレクションにドキュメントを挿入する例を次に示します。 :
db.pets.insertOne( {
name: "Scratch",
type: "Cat"
} )
結果:
{ "acknowledged" : true, "insertedId" : ObjectId("5fe2d15637b49e0faf1af214") }
db.collection.insertOne()
メソッドは以下を含むドキュメントを返します:
- ブール値の
acknowledged
true
として 操作が書き込みの懸念またはfalse
で実行された場合 書き込みの懸念が無効になっている場合。 - フィールド
insertedId
_id
を使用 挿入されたドキュメントの値。
ここで、db.collection.find()
を使用すると コレクションを見ると、新しく追加されたドキュメントが表示されます。
db.pets.find().pretty()
結果:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
pretty()
も使用しました 読みやすくするためにドキュメントをフォーマットします。
この場合、コレクション内のドキュメントは1つだけであるため、返されたドキュメントは1つだけです。
ただし、コレクションが大きい場合は、ID(挿入時にリターンドキュメントで提供されたもの)を使用して、結果をこのドキュメントのみに絞り込むことができます。
db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()
結果:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
コレクションが存在しない場合はどうなりますか?
コレクションが存在しない場合は、コレクションが作成され、ドキュメントがコレクションに追加されます。
コレクションがすでに存在する場合は、ドキュメントがコレクションに追加されるだけです。
この例を作成したとき、コレクションは存在しなかったため、挿入操作で作成されました。
_id
フィールド
_id
fieldは、MongoDBの一意の識別子フィールドです。
独自の_id
を提供できます ドキュメントのフィールド。その場合、その値はコレクション内で一意である必要があります。これは、_id
が原因です フィールドは、ドキュメントの一意の識別子として使用されます。
独自の_id
を持つドキュメントを挿入する例を次に示します。 フィールド。
db.pets.insertOne( {
_id: 1,
name: "Fetch",
type: "Dog"
} )
結果:
{ "acknowledged" : true, "insertedId" : 1 }
それでは、コレクションをもう一度見てみましょう。
db.pets.find()
結果:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" } { "_id" : 1, "name" : "Fetch", "type" : "Dog" }
詳細情報
db.collection.insertOne()
メソッドはwriteConcern
も受け入れます 引数。書き込み操作のためにMongoDBから要求される確認応答のレベルを説明します。
db.collection.insertOne()
については、MongoDBのドキュメントを参照してください。 詳細については。