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 cometrue
se l'operazione è stata eseguita con problemi di scrittura ofalse
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.