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

MongoDB insertOne()

In MongoDB il db.collection.insertOne() inserisce un singolo documento in una raccolta.

La collection part è il nome della raccolta in cui inserire il documento.

Esempio

Ecco un esempio di inserimento di un documento in una raccolta denominata pets :

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

Risultato:

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

Il db.collection.insertOne() restituisce un documento contenente:

  • Un acknowledged booleano come true se l'operazione è stata eseguita con problemi di scrittura o false se il problema di scrittura è stato disabilitato.
  • Un campo insertedId con il _id valore del documento inserito.

Ora se usiamo db.collection.find() per guardare la collezione, vedremo il documento appena aggiunto.

db.pets.find().pretty()

Risultato:

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

Ho anche usato pretty() per formattare il documento in modo che sia più facile da leggere.

In questo caso, il nostro documento è l'unico della collezione, quindi è stato restituito un solo documento.

Tuttavia, se la raccolta era di grandi dimensioni, potremmo utilizzare l'ID (fornito nel documento di restituzione quando abbiamo eseguito l'inserimento) per restringere il risultato solo a questo documento.

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

Risultato:

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

E se la collezione non esiste?

Se la raccolta non esiste, viene creata e il documento viene aggiunto ad essa.

Se la raccolta esiste già, il documento viene semplicemente aggiunto ad essa.

Quando ho creato questo esempio, la raccolta non esisteva e quindi l'operazione di inserimento l'ha creata.

Il _id Campo

Il _id field è un campo identificatore univoco in MongoDB.

Puoi fornire il tuo _id campo nel documento. In tal caso, il suo valore deve essere univoco all'interno della raccolta. Questo perché il tuo _id verrà utilizzato come identificatore univoco del documento.

Ecco un esempio di inserimento di un documento con il proprio _id campo.

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

Risultato:

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

Ora esaminiamo di nuovo la collezione.

db.pets.find()

Risultato:

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

Maggiori informazioni

Il db.collection.insertOne() accetta anche un writeConcern argomento, che descrive il livello di riconoscimento richiesto da MongoDB per le operazioni di scrittura.

Consulta la documentazione di MongoDB per db.collection.insertOne() per ulteriori informazioni.