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