इस तरह दस्तावेज़ कुंजियों के विरुद्ध क्वेरी करना संभव नहीं है। आप $exists
. का उपयोग करके सटीक मिलान खोज सकते हैं , लेकिन आप एक पैटर्न से मेल खाने वाले प्रमुख नाम नहीं खोज सकते।
मुझे लगता है (शायद गलत तरीके से) कि आप उन दस्तावेज़ों को ढूंढने का प्रयास कर रहे हैं जिनमें यूआरएल उप-दस्तावेज़ है, और सभी दस्तावेज़ों में यह नहीं होगा? क्यों न उस प्रकार की जानकारी को एक स्तर नीचे धकेला जाए, कुछ इस तरह:
{
payload: {
type: "url",
url: "Facebook.com",
...
}
}
तब आप इस तरह क्वेरी कर सकते हैं:
db.foo.find({"payload.type": "url", ...})
अगर मैंने यह नोट नहीं किया कि आपको डॉट्स (.
) का उपयोग नहीं करना चाहिए, तो मुझे भी खेद होगा ) MongoDB में प्रमुख नाम है। कुछ मामलों में इस तरह के दस्तावेज़ बनाना संभव है, लेकिन जब आप एम्बेडेड दस्तावेज़ों में क्वेरी करने का प्रयास करते हैं तो यह बहुत भ्रम पैदा करेगा (जहां मोंगो बोलने के लिए "पथ विभाजक" के रूप में डॉट का उपयोग करता है)।