$$KEEP - Amazon DocumentDB

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

$$KEEP

$$KEEP システム変数は、現在のドキュメントまたはフィールドを変更せずに出力に含めるために、集約パイプラインの $redactステージで使用されます。

パラメータ

なし

例 (MongoDB シェル)

次の例は、Amazon DocumentDB 集約パイプライン$$KEEPでの の使用を示しています。ドキュメントは、アクセスが「パブリック」と等しい場合にのみ保持され、そうでない場合は削除されます。

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

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

クエリの例

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

出力

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

コードの例

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

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