В 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() за повече информация.