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
acknowledgedsomtrueom operationen kördes med skrivproblem ellerfalseom skrivproblem har inaktiverats. - Ett fält
insertedIdmed_idvä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.