sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB insertOne()

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 som true hvis operationen kørte med skrivebekymring eller false 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.


  1. Mongodb - aggregering $push hvis betinget

  2. shutdown redis-server fra kommandolinjen

  3. Er GridFS hurtig og pålidelig nok til produktion?

  4. Hvordan designer man redis pub/sub til et onlinemeddelelsessystem?