$addToSet - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$addToSet

L'$addToSetopérateur dans Amazon DocumentDB est utilisé pour ajouter une valeur à un tableau uniquement si la valeur n'est pas déjà présente dans le tableau. Cela est utile pour garantir qu'un tableau contient des éléments uniques.

Paramètres

  • field: champ à mettre à jour.

  • value: valeur à ajouter au champ du tableau. Il peut s'agir d'une valeur unique ou d'une expression.

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser l'$addToSetopérateur pour ajouter des éléments uniques à un tableau.

Création d'exemples de documents

db.products.insertMany([ { "_id": 1, "item": "apple", "tags": ["fruit", "red", "round"] }, { "_id": 2, "item": "banana", "tags": ["fruit", "yellow"] }, { "_id": 3, "item": "cherry", "tags": ["fruit", "red"] } ])

Exemple de requête

db.products.update( { "item": "apple" }, { $addToSet: { "tags": "green" } } )

Sortie

{ "_id": 1, "item": "apple", "tags": ["fruit", "red", "round", "green"] }

Dans cet exemple, l'$addToSetopérateur ajoute la balise « verte » au tableau « tags » du document où le champ « item » est « apple ». Comme le mot « vert » ne figurait pas déjà dans le tableau, il a été ajouté.

Exemples de code

Pour afficher un exemple de code relatif à l'utilisation de la $addToSet commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

Node.js
const { MongoClient } = require('mongodb'); async function example() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('products'); await collection.updateOne( { "item": "apple" }, { $addToSet: { "tags": "green" } } ); const updatedDoc = await collection.findOne({ "item": "apple" }); console.log(updatedDoc); await client.close(); } example();
Python
from pymongo import MongoClient def example(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client.test collection = db.products collection.update_one( {"item": "apple"}, {"$addToSet": {"tags": "green"}} ) updated_doc = collection.find_one({"item": "apple"}) print(updated_doc) client.close() example()