Mongo conditional for "key doesn't exist"?
key-value, mongodb, pymongo, python
Solution
For "if key exists" checks, using a `.find()` is significantly faster than `find_one()`.
Single document: `cursor = db.myDocs.find({"mykey": {"$exists": True}}).limit(1)`
Multiple documents: `cursor = db.myDocs.find({"mykey": {"$exists": True}})`
if cursor.count() > 0:
keyExists = True
else:
keyExists = False
Problem
I want to find a document using a conditional if the key == None or if the key doesn't exist. Something like this: ``` myDoc = self.request.root.db.myDocs.find_one({ '$or': [ {'myKey' : $doesNotExist } , {'myKey' : None } ] }) ``` I'd also like to be able to find a document just by a missing key like this: ``` myDoc = self.request.root.db.myDocs.find_one( {'myKey' : $doesNotExist } ) ``` How can I accomplish this?