Saya tidak tahu tentang yang lebih baik, tetapi Anda selalu dapat memproses dengan JavaScript melalui $where
:
jsStr = """var doc = this;
return ['result1','result2','result3']
.every(function(key) {
return doc.hasOwnProperty(key)
});"""
coll.find({ "$where": jsStr })
Tetapi Anda harus menentukan larik "kunci" untuk memeriksa di suatu tempat.
Jika Anda merasa memiliki banyak kunci untuk diketik, mengapa tidak "membangun" ekspresi kueri Anda saja:
whitelist = [ "result1", "result2", "result3" ]
query = {}
for key in whitelist:
query[key] = { "$exists": True }
coll.find(query)
Itu menghemat sedikit pengetikan dan karena semua kueri MongoDB hanyalah struktur data, maka menggunakan manipulasi data dasar untuk membuat kueri masuk akal.