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
acknowledgedsomtruehvis operationen kørte med skrivebekymring ellerfalsehvis skriveproblemer var deaktiveret. - Et felt
insertedIdmed_idvæ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.