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

$$PRUNE

La variable $$PRUNE système est utilisée avec l'$redactétape du pipeline d'agrégation pour exclure des documents ou des niveaux de document intégrés des résultats. Lorsqu'une condition est évaluée à$$PRUNE, le document ou sous-document actuel est supprimé de la sortie. Il est généralement utilisé avec $$DESCEND (pour conserver et parcourir le document) ou $$KEEP (pour conserver le document à tous les niveaux).

Paramètres

Aucune. La variable $$PRUNE système est utilisée sans aucun paramètre et doit être utilisée avec$redact.

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser $$PRUNE with $redact pour exclure les utilisateurs âgés de plus de 30 ans des résultats.

Création d'exemples de documents

db.users.insert([ { _id:1, name: "Carlos Salazar", age: 35, address: { street: "123 Main St", city: "Anytown", state: "CA" } }, { _id:2, name: "Saanvi Sarkar", age: 28, address: { street: "456 Oak Rd", city: "Someplace", state: "NY" } }, { _id:3, name: "Li Juan", age: 42, address: { street: "789 Pine Ave", city: "Springfield", state: "TX" } } ])

Exemple de requête

db.users.aggregate([ { $redact: { $cond: { if: { $gt: ["$age", 30] }, then: "$$PRUNE", else: "$$DESCEND" } } } ])

Sortie

[ { "_id": 2, "name": "Saanvi Sarkar", "age": 28, "address": { "street": "456 Oak Rd", "city": "Someplace", "state": "NY" } } ]

Exemples de code

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

Node.js
const { MongoClient } = require('mongodb'); const client = new MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); async function main() { await client.connect(); const db = client.db('test'); const users = db.collection('users'); const result = await users.aggregate([ { $redact: { $cond: { if: { $gt: ["$age", 30] }, then: "$$PRUNE", else: "$$DESCEND" } } } ]).toArray(); console.log(result); await client.close(); } main();
Python
from pymongo import MongoClient client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] users = db['users'] result = list(users.aggregate([ { '$redact': { '$cond': { 'if': { '$gt': ['$age', 30] }, 'then': '$$PRUNE', 'else': '$$DESCEND' } } } ])) print(result) client.close()