我试图查找具有不具有-1的状态的特定ID的所有文档。
为什么这会在pymongo中出现语法错误?
machine = db2.machine.find(
{
"account_id": account_id,
"status": { $ne: -1 }
}
)
注意:
ObjectId("5397929402b8541ae8a32349")
status
行,则可以正常使用。答案 0 :(得分:1)
与JavaScript不同,您需要将$ne
包装到Python中的字符串中。
所以:
machine = db2.machine.find(
{
"account_id": account_id,
"status": { "$ne": -1 }
}
)
这是因为在Python中定义字典时,你无法做到
{key: "one"}
你需要做
{"key": "one"}
在第一种情况下,“key”指的是不存在的变量。您可以将第一种情况修改如下:
>>> key = "name"
>>> {key: "one"}
{'name': 'one'}
您的案例中的另一个复杂因素是您尝试访问名为$ne
的变量,该变量是无效的变量名称。