V MongoDB db.collection.insertOne()
metoda vloží jeden dokument do kolekce.
collection
část je název kolekce, do které se má dokument vložit.
Příklad
Zde je příklad vložení dokumentu do kolekce s názvem pets
:
db.pets.insertOne( {
name: "Scratch",
type: "Cat"
} )
Výsledek:
{ "acknowledged" : true, "insertedId" : ObjectId("5fe2d15637b49e0faf1af214") }
db.collection.insertOne()
metoda vrací dokument obsahující:
- Logická hodnota
acknowledged
jakotrue
pokud operace proběhla s obavami o zápis nebofalse
pokud bylo zakázáno psaní. - Pole
insertedId
s_id
hodnotu vloženého dokumentu.
Nyní, když použijeme db.collection.find()
abychom se podívali do sbírky, uvidíme nově přidaný dokument.
db.pets.find().pretty()
Výsledek:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Také jsem použil pretty()
naformátujte dokument tak, aby byl snazší číst.
V tomto případě je náš dokument jediný ve sbírce, a tak byl vrácen pouze jeden dokument.
Pokud by však byla sbírka velká, mohli bychom použít ID (uvedené v návratovém dokumentu při vkládání) k zúžení výsledku pouze na tento dokument.
db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()
Výsledek:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Co když sbírka neexistuje?
Pokud kolekce neexistuje, je vytvořena a dokument je do ní přidán.
Pokud kolekce již existuje, dokument se do ní jednoduše přidá.
Když jsem vytvořil tento příklad, kolekce neexistovala, a tak ji vytvořila operace vložení.
_id
pole
_id
pole je pole jedinečného identifikátoru v MongoDB.
Můžete zadat své vlastní _id
pole v dokumentu. Pokud tak učiníte, jeho hodnota musí být v rámci kolekce jedinečná. Důvodem je vaše _id
pole bude použito jako jedinečný identifikátor dokumentu.
Zde je příklad vložení dokumentu s vlastním _id
pole.
db.pets.insertOne( {
_id: 1,
name: "Fetch",
type: "Dog"
} )
Výsledek:
{ "acknowledged" : true, "insertedId" : 1 }
Nyní se znovu podíváme na sbírku.
db.pets.find()
Výsledek:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" } { "_id" : 1, "name" : "Fetch", "type" : "Dog" }
Další informace
db.collection.insertOne()
metoda také přijímá writeConcern
argument, který popisuje úroveň potvrzení požadovaného od MongoDB pro operace zápisu.
Viz dokumentaci MongoDB pro db.collection.insertOne()
pro více informací.