MongoDBクエリ言語を使用すると、$exists
演算子を使用して特定のフィールドの有無に基づいてドキュメントをフィルタリングできます。MongoDBクエリは、定義済みセット内のキーのみを持つドキュメントを返します。
は、方法は、MongoDBの構文で、そこにされており、許可されたフィールドのセットK
を与え、その結果からK
のフィールドを持っていない文書を除外するために、しかし:
- た余分な事前に知っていませんフィールド(
K
外)に遭遇する可能性があります - JavaScriptを使用していない、つまり
$where
演算子ですか?
例:セットK = [ "Some field" ]
で
{
"Some field" : "foo"
}
{
"Some field" : "bar",
"Some other field" : "foobar"
}
、唯一の最初の文書が返されます。
これは、両方のドキュメントを返すが余分なフィールドを削除する投影とどのように混同しないように注意してください。既知のフィールドK
のセットが与えられると
ありがとうございます。しかし、あなたの例では、文書4と5だけが返されると思います。 1,2,3は 'fieldX'と' fieldZ'だけが存在することが許されているという要求に合致しません。言い換えれば、 'Object.keys(doc)'が 'K'のサブセットであるような文書' doc'だけが返されます。 –