Не е възможно да се правят заявки срещу ключове на документи по този начин. Можете да търсите точни съвпадения, като използвате $exists
, но не можете да намерите имена на ключове, които съответстват на шаблон.
Предполагам (може би неправилно), че се опитвате да намерите документи, които имат URL поддокумент, и че не всички документи ще имат това? Защо не преместите този тип информация на ниво надолу, нещо като:
{
payload: {
type: "url",
url: "Facebook.com",
...
}
}
Тогава можете да направите заявка като:
db.foo.find({"payload.type": "url", ...})
Ще бъда небрежен, ако не отбележа, че не трябва да използвате точки (.
) е имена на ключове в MongoDB. В някои случаи е възможно да създавате документи като този, но това ще доведе до големи обърквания, докато се опитвате да правите заявки във вградени документи (където Mongo използва точка като "разделител на пътя", така да се каже).