Python 什么';MongoDB find()查询有什么问题(不等于)?
我正在尝试查找具有特定ID且状态不为-1的所有文档 为什么在pymongo中会出现语法错误Python 什么';MongoDB find()查询有什么问题(不等于)?,python,mongodb,pymongo,Python,Mongodb,Pymongo,我正在尝试查找具有特定ID且状态不为-1的所有文档 为什么在pymongo中会出现语法错误 machine = db2.machine.find( { "account_id": account_id, "status": { $ne: -1 } } ) 注: account_id是一个值为ObjectId(“5397929402b8541ae8a32349”)的变量。 如果我删除状态行,它工作正常 与Jav
machine = db2.machine.find(
{
"account_id": account_id,
"status": { $ne: -1 }
}
)
注:
状态
行,它工作正常与JavaScript不同,您需要在Python中将
$ne
包装成一个字符串
因此:
这是因为在Python中,当您定义字典时,您不能这样做
{key: "one"}
你需要做什么
{"key": "one"}
在第一种情况下,“key”指的是一个不存在的变量。您可以按如下方式结束第一个案例:
>>> key = "name"
>>> {key: "one"}
{'name': 'one'}
您案例中的另一个复杂问题是,您试图访问名为
$ne
的变量,该变量名无效。谢谢!我一知道你的答案就马上给你打分。只是出于好奇,是不是因为$是一个保留字符,所以需要将其放入字符串中?更新了我的答案,以便您可以看到发生了什么
>>> key = "name"
>>> {key: "one"}
{'name': 'one'}