MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB insertOne()

Dans MongoDB, le db.collection.insertOne() méthode insère un seul document dans une collection.

La collection part est le nom de la collection dans laquelle insérer le document.

Exemple

Voici un exemple d'insertion d'un document dans une collection appelée pets :

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

Résultat :

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

Le db.collection.insertOne() méthode renvoie un document contenant :

  • Un booléen acknowledged comme true si l'opération s'est exécutée avec un souci d'écriture ou false si la préoccupation d'écriture était désactivée.
  • Un champ insertedId avec le _id valeur du document inséré.

Maintenant, si nous utilisons db.collection.find() pour regarder la collection, nous verrons le document nouvellement ajouté.

db.pets.find().pretty()

Résultat :

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

J'ai aussi utilisé pretty() pour formater le document afin qu'il soit plus facile à lire.

Dans ce cas, notre document est le seul de la collection, et donc un seul document a été retourné.

Cependant, si la collection était importante, nous pourrions utiliser l'ID (fourni dans le document de retour lorsque nous avons fait l'insertion) pour limiter le résultat à ce document uniquement.

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

Résultat :

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

Et si la collection n'existe pas ?

Si la collection n'existe pas, elle est créée et le document y est ajouté.

Si la collection existe déjà, alors le document y est simplement ajouté.

Lorsque j'ai créé cet exemple, la collection n'existait pas et l'opération d'insertion l'a donc créée.

Le _id Champ

Le _id field est un champ d'identifiant unique dans MongoDB.

Vous pouvez fournir votre propre _id champ dans le document. Si vous le faites, sa valeur doit être unique dans la collection. C'est parce que votre _id sera utilisé comme identifiant unique du document.

Voici un exemple d'insertion d'un document avec son propre _id champ.

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

Résultat :

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

Examinons à nouveau la collection.

db.pets.find()

Résultat :

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

Plus d'informations

Le db.collection.insertOne() la méthode accepte également un writeConcern argument, qui décrit le niveau d'accusé de réception demandé à MongoDB pour les opérations d'écriture.

Voir la documentation MongoDB pour db.collection.insertOne() pour plus d'informations.