$pull - 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.

$pull

L'$pullopérateur est utilisé pour supprimer d'un tableau toutes les instances d'une valeur ou de valeurs correspondant à une condition spécifiée. Cet opérateur est utile lorsque vous devez supprimer des éléments spécifiques d'un champ de tableau dans un document.

Paramètres

  • field: nom du champ du tableau dont vous souhaitez supprimer la ou les valeurs.

  • value: valeur ou condition qui détermine le ou les éléments à supprimer du tableau.

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser l'$pullopérateur pour supprimer des éléments d'un champ de tableau.

Création d'exemples de documents

db.restaurants.insertMany([ { name: "Pizza Hut", cuisine: "Italian", features: ["Delivery", "Takeout", "Dine-in"] }, { name: "Sushi Saito", cuisine: "Japanese", features: ["Dine-in", "Private Dining"] }, { name: "Taco Bell", cuisine: "Mexican", features: ["Delivery", "Takeout", "Drive-thru"] } ])

Exemple de requête

db.restaurants.updateMany( { cuisine: "Italian" }, { $pull: { features: "Takeout" } } )

Sortie

{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }

La requête ci-dessus supprime la fonction « Takeout » de tous les documents dont le cuisine champ est « italien ».

Exemples de code

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

Node.js
const { MongoClient } = require('mongodb'); async function updateRestaurants() { 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 restaurants = db.collection('restaurants'); await restaurants.updateMany( { cuisine: 'Italian' }, { $pull: { features: 'Takeout' } } ); const updatedRestaurants = await restaurants.find({}).toArray(); console.log(updatedRestaurants); await client.close(); } updateRestaurants();
Python
from pymongo import MongoClient def update_restaurants(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client.test restaurants = db.restaurants result = restaurants.update_many( { 'cuisine': 'Italian' }, { '$pull': { 'features': 'Takeout' } } ) updated_restaurants = list(restaurants.find({})) print(updated_restaurants) client.close() update_restaurants()