$exists - Amazon DocumentDB

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

$exists

$exists 演算子は、フィールドがドキュメントに存在するかどうかをチェックするために使用されます。$exists特に、インデックス付きフィールドがすべてのドキュメントに存在するわけではない Amazon DocumentDB でスパースインデックスを操作する場合に便利です。

クエリで作成したスパースなインデックスを使用するには、インデックスをカバーするフィールドで $exists 句を使用する必要があります。を省略した場合$exists、Amazon DocumentDB はクエリにスパースインデックスを使用しません。

パラメータ

  • field: 存在を確認するフィールド名。

  • value: フィールドが一致するドキュメントに存在する (truefalse) か存在しない (true) かを指定するブール値 ( または false)。

例 (MongoDB シェル)

次の例は、foodコレクション内の special_dietsフィールドでスパースインデックスを持つ $exists演算子の使用を示しています。

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

db.food.insertMany([ { _id: 1, name: "Apple", special_diets: ["vegetarian", "gluten-free"] }, { _id: 2, name: "Broccoli" }, { _id: 3, name: "Chicken", special_diets: ["dairy-free"] } ]);

「special_diets」フィールドにスパースインデックスを作成する

db.food.createIndex({ "special_diets": 1 }, { sparse: true, name: "special_diets_sparse_asc" });

クエリの例

db.food.find({ "special_diets": { $exists: true } });

出力

[ { "_id" : 1, "name" : "Apple", "special_diets" : [ "vegetarian", "gluten-free" ] }, { "_id" : 3, "name" : "Chicken", "special_diets" : [ "dairy-free" ] } ]

コードの例

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

Node.js
const { MongoClient } = require('mongodb'); async function main() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('food'); const result = await collection.find({ "special_diets": { $exists: true } }).toArray(); console.log(result); await client.close(); } main();
Python
import pymongo client = pymongo.MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] collection = db['food'] result = list(collection.find({"special_diets": {"$exists": True}})) print(result) client.close()