$$PRUNE - Amazon DocumentDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

$$PRUNE

$$PRUNE システム変数は、集計パイプラインの $redactステージとともに使用され、結果からドキュメントまたは埋め込みドキュメントレベルを除外します。条件が に評価されると$$PRUNE、現在のドキュメントまたはサブドキュメントが出力から削除されます。通常、 $$DESCEND (ドキュメントを保持およびトラバースするため) または $$KEEP (ドキュメントをすべてのレベルで保持するため) で使用されます。

パラメータ

なし。$$PRUNE システム変数はパラメータなしで使用され、 で使用する必要があります$redact

例 (MongoDB シェル)

次の例は、 $$PRUNEで を使用して 30 年以上前のユーザー$redactを結果から除外する方法を示しています。

サンプルドキュメントを作成する

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" } } ])

クエリの例

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

出力

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

コードの例

$$PRUNE コマンドを使用するコード例を表示するには、使用する言語のタブを選択します。

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()