In MongoDB de db.collection.insertOne()
methode voegt een enkel document in een verzameling in.
De collection
part is de naam van de verzameling waarin het document moet worden ingevoegd.
Voorbeeld
Hier is een voorbeeld van het invoegen van een document in een verzameling met de naam pets
:
db.pets.insertOne( {
name: "Scratch",
type: "Cat"
} )
Resultaat:
{ "acknowledged" : true, "insertedId" : ObjectId("5fe2d15637b49e0faf1af214") }
De db.collection.insertOne()
methode retourneert een document met daarin:
- Een boolean
acknowledged
alstrue
als de bewerking werd uitgevoerd met schrijfproblemen offalse
als schrijfzorg was uitgeschakeld. - Een veld
insertedId
met de_id
waarde van het ingevoegde document.
Als we nu db.collection.find()
. gebruiken om de collectie te bekijken, zien we het nieuw toegevoegde document.
db.pets.find().pretty()
Resultaat:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Ik heb ook pretty()
. gebruikt om het document op te maken zodat het gemakkelijker te lezen is.
In dit geval is ons document het enige in de collectie en is er dus maar één document geretourneerd.
Als de verzameling echter groot was, konden we de ID (meegeleverd in het retourdocument toen we de invoeging deden) gebruiken om het resultaat te beperken tot alleen dit document.
db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()
Resultaat:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Wat als de collectie niet bestaat?
Als de verzameling niet bestaat, wordt deze gemaakt en wordt het document eraan toegevoegd.
Als de verzameling al bestaat, wordt het document er gewoon aan toegevoegd.
Toen ik dit voorbeeld maakte, bestond de verzameling niet, en daarom heeft de invoegbewerking deze gemaakt.
De _id
Veld
De _id
field is een uniek identificatieveld in MongoDB.
U kunt uw eigen _id
. opgeven veld in het document. Als je dat doet, moet de waarde ervan uniek zijn binnen de collectie. Dit komt omdat uw _id
veld wordt gebruikt als de unieke identificatie van het document.
Hier is een voorbeeld van het invoegen van een document met zijn eigen _id
veld.
db.pets.insertOne( {
_id: 1,
name: "Fetch",
type: "Dog"
} )
Resultaat:
{ "acknowledged" : true, "insertedId" : 1 }
Laten we nu nog eens naar de collectie kijken.
db.pets.find()
Resultaat:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" } { "_id" : 1, "name" : "Fetch", "type" : "Dog" }
Meer informatie
De db.collection.insertOne()
methode accepteert ook een writeConcern
argument, dat het niveau van bevestiging beschrijft dat van MongoDB is gevraagd voor schrijfbewerkingen.
Zie de MongoDB-documentatie voor db.collection.insertOne()
voor meer informatie.