sql >> Database >  >> NoSQL >> MongoDB

MongoDB insertOne()

In MongoDB de db.collection.insertOne() methode voegt een enkel document in een verzameling in.

De collection part is de naam van de verzameling waarin het document moet worden ingevoegd.

Voorbeeld

Hier is een voorbeeld van het invoegen van een document in een verzameling met de naam pets :

db.pets.insertOne( { 
    name: "Scratch", 
    type: "Cat" 
    } )

Resultaat:

{
	"acknowledged" : true,
	"insertedId" : ObjectId("5fe2d15637b49e0faf1af214")
}

De db.collection.insertOne() methode retourneert een document met daarin:

  • Een boolean acknowledged als true als de bewerking werd uitgevoerd met schrijfproblemen of false als schrijfzorg was uitgeschakeld.
  • Een veld insertedId met de _id waarde van het ingevoegde document.

Als we nu db.collection.find() . gebruiken om de collectie te bekijken, zien we het nieuw toegevoegde document.

db.pets.find().pretty()

Resultaat:

{
	"_id" : ObjectId("5fe2d15637b49e0faf1af214"),
	"name" : "Scratch",
	"type" : "Cat"
}

Ik heb ook pretty() . gebruikt om het document op te maken zodat het gemakkelijker te lezen is.

In dit geval is ons document het enige in de collectie en is er dus maar één document geretourneerd.

Als de verzameling echter groot was, konden we de ID (meegeleverd in het retourdocument toen we de invoeging deden) gebruiken om het resultaat te beperken tot alleen dit document.

db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()

Resultaat:

{
	"_id" : ObjectId("5fe2d15637b49e0faf1af214"),
	"name" : "Scratch",
	"type" : "Cat"
}

Wat als de collectie niet bestaat?

Als de verzameling niet bestaat, wordt deze gemaakt en wordt het document eraan toegevoegd.

Als de verzameling al bestaat, wordt het document er gewoon aan toegevoegd.

Toen ik dit voorbeeld maakte, bestond de verzameling niet, en daarom heeft de invoegbewerking deze gemaakt.

De _id Veld

De _id field is een uniek identificatieveld in MongoDB.

U kunt uw eigen _id . opgeven veld in het document. Als je dat doet, moet de waarde ervan uniek zijn binnen de collectie. Dit komt omdat uw _id veld wordt gebruikt als de unieke identificatie van het document.

Hier is een voorbeeld van het invoegen van een document met zijn eigen _id veld.

db.pets.insertOne( { 
    _id: 1,
    name: "Fetch", 
    type: "Dog" 
    } )

Resultaat:

{ "acknowledged" : true, "insertedId" : 1 }

Laten we nu nog eens naar de collectie kijken.

db.pets.find()

Resultaat:

{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
{ "_id" : 1, "name" : "Fetch", "type" : "Dog" }

Meer informatie

De db.collection.insertOne() methode accepteert ook een writeConcern argument, dat het niveau van bevestiging beschrijft dat van MongoDB is gevraagd voor schrijfbewerkingen.

Zie de MongoDB-documentatie voor db.collection.insertOne() voor meer informatie.


  1. Hoe kan ik commando's in redis uitvoeren zonder enige reactie te krijgen?

  2. mongodb php - hoe een INNER JOIN-achtige query te doen

  3. MongoDB openen vanuit Go

  4. Hoe werk je objecten in de array van een document bij (geneste updates)