22

如果 key == None 或 key 不存在,我想使用条件查找文档。像这样的东西:

myDoc = self.request.root.db.myDocs.find_one({
                          '$or': [
                              {'myKey' : $doesNotExist } ,
                              {'myKey' : None }
                            ]
                    })

我还希望能够通过这样的缺失键找到文档:

myDoc = self.request.root.db.myDocs.find_one( {'myKey' : $doesNotExist } )

我怎样才能做到这一点?

4

2 回答 2

28

对于“如果键存在”检查,使用 a.find()明显find_one().

单一文件: cursor = db.myDocs.find({"mykey": {"$exists": True}}).limit(1)

多个文件: cursor = db.myDocs.find({"mykey": {"$exists": True}})

if cursor.count() > 0:
    keyExists = True
else:
    keyExists = False
于 2013-03-18T21:31:23.687 回答
18

您可以使用以下方法测试不存在的密钥:

db.myDocs.find_one({'myKey': { '$exists': False }})

关于$exists 运算符的 Mongo 文档

于 2012-08-19T22:49:08.087 回答