मैं बेहतर के बारे में नहीं जानता, लेकिन आप हमेशा के माध्यम से जावास्क्रिप्ट के साथ प्रक्रिया कर सकते हैं। $where
:
jsStr = """var doc = this;
return ['result1','result2','result3']
.every(function(key) {
return doc.hasOwnProperty(key)
});"""
coll.find({ "$where": jsStr })
लेकिन आपको कहीं और जांचने के लिए "कुंजी" की एक सरणी निर्दिष्ट करनी होगी।
अगर आपको लगता है कि आपके पास टाइप करने के लिए बहुत सारी चाबियां हैं, तो क्यों न सिर्फ अपनी क्वेरी एक्सप्रेशन को "बिल्ड" करें:
whitelist = [ "result1", "result2", "result3" ]
query = {}
for key in whitelist:
query[key] = { "$exists": True }
coll.find(query)
इससे टाइपिंग में थोड़ी बचत होती है और चूंकि सभी MongoDB क्वेरीज़ केवल डेटा संरचनाएं हैं, इसलिए क्वेरी बनाने के लिए बुनियादी डेटा हेरफेर का उपयोग करना समझ में आता है।