この方法でドキュメントキーに対してクエリを実行することはできません。 $exists
を使用して完全一致を検索できます 、ただし、パターンに一致するキー名が見つかりません。
私はあなたがURLサブドキュメントを持っているドキュメントを見つけようとしていると思います(おそらく間違っています)、そしてすべてのドキュメントがこれを持っているわけではありませんか?そのタイプ情報を次のようなレベルにプッシュしてみませんか:
{
payload: {
type: "url",
url: "Facebook.com",
...
}
}
次に、次のようにクエリできます:
db.foo.find({"payload.type": "url", ...})
ドット(.
)を使用してはいけないことに気づかなかった場合も、私は失望します。 )はMongoDBのキー名です。このようなドキュメントを作成できる場合もありますが、埋め込まれたドキュメントにクエリを実行しようとすると、大きな混乱が生じます(Mongoはドットをいわば「パス区切り文字」として使用します)。