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

$$KEEP

La variable $$KEEP système est utilisée avec le $redact stage dans le pipeline d'agrégation pour conserver le document ou le champ actuel inchangé et l'inclure dans la sortie.

Paramètres

Aucune

Exemple (MongoDB Shell)

L'exemple suivant illustre l'utilisation de $$KEEP dans un pipeline d'agrégation Amazon DocumentDB. Les documents ne sont conservés que si l'accès est « public », sinon ils sont supprimés.

Création d'exemples de documents

db.articles.insertMany([ { title: "Article A", access: "public", content: "Visible content" }, { title: "Article B", access: "private", content: "Hidden content" } ]);

Exemple de requête

db.articles.aggregate([ { $redact: { $cond: [ { $eq: ["$access", "public"] }, "$$KEEP", "$$PRUNE" ] } } ]);

Sortie

[ { "_id" : ObjectId("..."), "title" : "Article A", "access" : "public", "content" : "Visible content" } ]

Exemples de code

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

Node.js
const { MongoClient } = require('mongodb'); async function run() { const client = new MongoClient( 'mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0' ); try { await client.connect(); const db = client.db('test'); const articles = db.collection('articles'); const pipeline = [ { $redact: { $cond: [ { $eq: ["$access", "public"] }, "$$KEEP", "$$PRUNE" ] } } ]; const results = await articles.aggregate(pipeline).toArray(); console.log(results); } finally { await client.close(); } } run().catch(console.error);
Python
from pymongo import MongoClient client = MongoClient( "mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0" ) db = client.test articles = db.articles pipeline = [ { "$redact": { "$cond": [ {"$eq": ["$access", "public"]}, "$$KEEP", "$$PRUNE" ] } } ] results = list(articles.aggregate(pipeline)) print(results) client.close()