MongoDBのキーとして「p396:branchCode」を含むすべてのドキュメントを見つける必要があります。値は関係ありません。何でもかまいません。
{"p396:branchCode": new RegExp(".*")}
MongoVUE でしたが、何も見つかりませんでした。私のデータベースは非常にネストされており、branchCode には "p396:checkTellersEApproveStatus" というスーパーキーがあります
キーはスーパーキーの下にネストされているため、ドット演算子を使用する必要があります。
{"p396:checkTellersEApproveStatus.p396:branchCode": {$exists: true}}
p396:branchCode
これは、 が常に の下にあることを前提としていp396:checkTellersEApproveStatus
ます。そうでない場合、MongoDB では不明なキーに対するクエリを実行できないため、問題が発生します。可能なスーパーキーの数が少ない場合、$or-operator を使用してそれらすべてを照会できます。そうでない場合、唯一のオプションは、オブジェクトを配列にリファクタリングすることです。例を挙げると、次のような構造です。
properties: {
prop1: "value1",
prop2: "value2",
prop3: "value3"
}
次のようにすると、任意のキーの下で値を照会するのがはるかに簡単になります。
properties: [
{ key: "prop1", value:"value1"} ,
{ key: "prop2", value:"value2"},
{ key: "prop3", value:"value3"}
]
あなたはただできるからdb.collection.find({"properties.value":"value2"})
$exists
演算子を使用したいようです。
{'p396:branchCode': {$exists: true}}
これは、このクエリがパスの一部であることを前提としています。
{ 'p396:checkTellersApproveStatus': {'p396:branchCode': {$exists: true}}}
これは次のように短縮できます。
{ 'p396:checkTellersApproveStatus.p396:branchCode': {$exists: true}}