Tidak mungkin melakukan kueri terhadap kunci dokumen dengan cara ini. Anda dapat mencari kecocokan persis menggunakan $exists
, tetapi Anda tidak dapat menemukan nama kunci yang cocok dengan suatu pola.
Saya berasumsi (mungkin salah) bahwa Anda mencoba mencari dokumen yang memiliki sub-dokumen URL, dan tidak semua dokumen memiliki ini? Mengapa tidak mendorong informasi jenis itu ke tingkat yang lebih rendah, seperti:
{
payload: {
type: "url",
url: "Facebook.com",
...
}
}
Kemudian Anda dapat menanyakan seperti:
db.foo.find({"payload.type": "url", ...})
Saya juga akan lalai jika saya tidak memperhatikan bahwa Anda tidak boleh menggunakan titik (.
) adalah nama kunci di MongoDB. Dalam beberapa kasus, dimungkinkan untuk membuat dokumen seperti ini, tetapi akan menyebabkan kebingungan besar saat Anda mencoba untuk melakukan kueri ke dalam dokumen yang disematkan (di mana Mongo menggunakan titik sebagai "pemisah jalur" sehingga untuk berbicara).