I MongoDB er db.collection.insertOne()
metode indsætter et enkelt dokument i en samling.
collection
del er navnet på den samling, dokumentet skal indsættes i.
Eksempel
Her er et eksempel på indsættelse af et dokument i en samling kaldet pets
:
db.pets.insertOne( {
name: "Scratch",
type: "Cat"
} )
Resultat:
{ "acknowledged" : true, "insertedId" : ObjectId("5fe2d15637b49e0faf1af214") }
db.collection.insertOne()
metode returnerer et dokument, der indeholder:
- En boolesk
acknowledged
somtrue
hvis operationen kørte med skrivebekymring ellerfalse
hvis skriveproblemer var deaktiveret. - Et felt
insertedId
med_id
værdien af det indsatte dokument.
Hvis vi nu bruger db.collection.find()
for at se på samlingen, vil vi se det nyligt tilføjede dokument.
db.pets.find().pretty()
Resultat:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Jeg brugte også pretty()
for at formatere dokumentet, så det er nemmere at læse.
I dette tilfælde er vores dokument det eneste i samlingen, og derfor blev kun ét dokument returneret.
Men hvis samlingen var stor, kunne vi bruge ID'et (som var angivet i returdokumentet, da vi lavede indsættelsen) til at indsnævre resultatet til netop dette dokument.
db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()
Resultat:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Hvad hvis samlingen ikke eksisterer?
Hvis samlingen ikke eksisterer, oprettes den, og dokumentet føjes til den.
Hvis samlingen allerede eksisterer, føjes dokumentet blot til den.
Da jeg oprettede dette eksempel, eksisterede samlingen ikke, så indsættelsesoperationen skabte den.
_id
Felt
_id
felt er et unikt identifikationsfelt i MongoDB.
Du kan angive dit eget _id
felt i dokumentet. Hvis du gør det, skal dens værdi være unik i samlingen. Dette er fordi dit _id
feltet vil blive brugt som den unikke identifikator for dokumentet.
Her er et eksempel på indsættelse af et dokument med sit eget _id
felt.
db.pets.insertOne( {
_id: 1,
name: "Fetch",
type: "Dog"
} )
Resultat:
{ "acknowledged" : true, "insertedId" : 1 }
Lad os nu se på samlingen igen.
db.pets.find()
Resultat:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" } { "_id" : 1, "name" : "Fetch", "type" : "Dog" }
Flere oplysninger
db.collection.insertOne()
metode accepterer også en writeConcern
argument, som beskriver niveauet af bekræftelse, der anmodes om fra MongoDB for skriveoperationer.
Se MongoDB-dokumentationen for db.collection.insertOne()
for mere information.