Jeg ved ikke om bedre, men du kan altid behandle med JavaScript via $where
:
jsStr = """var doc = this;
return ['result1','result2','result3']
.every(function(key) {
return doc.hasOwnProperty(key)
});"""
coll.find({ "$where": jsStr })
Men du bliver nødt til at angive en række "nøgler" for at søge efter et eller andet sted.
Hvis du tror, du har mange nøgler at skrive ud, hvorfor så ikke bare "bygge" dit forespørgselsudtryk:
whitelist = [ "result1", "result2", "result3" ]
query = {}
for key in whitelist:
query[key] = { "$exists": True }
coll.find(query)
Det sparer en smule indtastning, og da alle MongoDB-forespørgsler alligevel kun er datastrukturer, giver det mening at bruge grundlæggende datamanipulation til at bygge forespørgsler.