I MongoDB är db.collection.insertOne()
metoden infogar ett enda dokument i en samling.
collection
del är namnet på samlingen att infoga dokumentet i.
Exempel
Här är ett exempel på hur du infogar ett dokument i en samling som heter pets
:
db.pets.insertOne( {
name: "Scratch",
type: "Cat"
} )
Resultat:
{ "acknowledged" : true, "insertedId" : ObjectId("5fe2d15637b49e0faf1af214") }
db.collection.insertOne()
metod returnerar ett dokument som innehåller:
- En boolesk
acknowledged
somtrue
om operationen kördes med skrivproblem ellerfalse
om skrivproblem har inaktiverats. - Ett fält
insertedId
med_id
värdet på det infogade dokumentet.
Om vi nu använder db.collection.find()
för att titta på samlingen kommer vi att se det nyligen tillagda dokumentet.
db.pets.find().pretty()
Resultat:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Jag använde också pretty()
för att formatera dokumentet så att det är lättare att läsa.
I det här fallet är vårt dokument det enda i samlingen, och därför returnerades endast ett dokument.
Men om samlingen var stor kunde vi använda ID:t (som fanns i returdokumentet när vi gjorde insättningen) för att begränsa resultatet till just detta dokument.
db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()
Resultat:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Vad händer om samlingen inte finns?
Om samlingen inte finns skapas den och dokumentet läggs till i den.
Om samlingen redan finns, läggs dokumentet helt enkelt till den.
När jag skapade det här exemplet fanns inte samlingen, så infogningsoperationen skapade den.
_id
Fält
_id
field är ett unikt identifierarfält i MongoDB.
Du kan ange ditt eget _id
fältet i dokumentet. Om du gör det måste dess värde vara unikt i samlingen. Detta beror på att ditt _id
fältet kommer att användas som den unika identifieraren för dokumentet.
Här är ett exempel på hur du infogar ett dokument med sin egen _id
fältet.
db.pets.insertOne( {
_id: 1,
name: "Fetch",
type: "Dog"
} )
Resultat:
{ "acknowledged" : true, "insertedId" : 1 }
Låt oss nu titta på samlingen igen.
db.pets.find()
Resultat:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" } { "_id" : 1, "name" : "Fetch", "type" : "Dog" }
Mer information
db.collection.insertOne()
metoden accepterar också en writeConcern
argument, som beskriver nivån på bekräftelse som begärs från MongoDB för skrivoperationer.
Se MongoDB-dokumentationen för db.collection.insertOne()
för mer information.