在Pymongo检查现场存在

Lio*_*elF 2 python mongodb pymongo

我有这样的集合:

{ 
  "_id":"1321464"
  "Sex":"Male"
  "Age":"20" 
  "City":"Toronto" #Maybe this field are not present.
}
Run Code Online (Sandbox Code Playgroud)

我想找到我所有的文件"City"字段不存在.我尝试:

collection.find({"sex":"Male"},{"City":{"$exists": False}},{'Age': 1, '_id':0})
Run Code Online (Sandbox Code Playgroud)

我有这个错误信息:

File "/usr/local/lib/python2.7/dist-packages/pymongo/collection.py", line 1239, in find
    return Cursor(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/pymongo/cursor.py", line 125, in __init__
    raise TypeError("skip must be an instance of int")
TypeError: skip must be an instance of int
Run Code Online (Sandbox Code Playgroud)

Ste*_*ter 6

您将三个参数传递给该find方法.我假设您打算仅通过过滤器和投影.试试这个:

collection.find({"sex":"Male", "City":{"$exists": False}},{'Age': 1, '_id':0})
Run Code Online (Sandbox Code Playgroud)