В MongoDB db.collection.insertOne()
метод вмъква един документ в колекция.
collection
част е името на колекцията, в която да вмъкнете документа.
Пример
Ето пример за вмъкване на документ в колекция, наречена 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()
за да форматирате документа, така че да е по-лесен за четене.
В този случай нашият документ е единственият в колекцията и така е върнат само един документ.
Въпреки това, ако колекцията беше голяма, бихме могли да използваме идентификатора (предоставен в документа за връщане, когато сме направили вмъкването), за да стесним резултата само до този документ.
db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()
Резултат:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Ами ако колекцията не съществува?
Ако колекцията не съществува, тя се създава и документът се добавя към нея.
Ако колекцията вече съществува, документът просто се добавя към нея.
Когато създадох този пример, колекцията не съществуваше и така операцията за вмъкване я създаде.
_id
Поле
_id
полето е уникално поле за идентификатор в 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 за операции по запис.
Вижте документацията на MongoDB за db.collection.insertOne()
за повече информация.