【发布时间】:2015-02-07 01:45:57
【问题描述】:
我正在使用 python 3、mongo 版本 2.6.4 和 pymongo 版本 2.7。我无法让以下查询工作...... 这个查询是我直接放入 mongo shell 的:
db.zoo.find({'animal': {'$and': [{'$ne': 'dog'}, {'$ne': 'cat'}]}}).limit(20).pretty()
(限制和漂亮仅在我测试时存在)
这是我得到的错误:
error: {
"$err" : "Can't canonicalize query: BadValue unknown operator: $and",
"code" : 17287
}
我在使用 $or 运算符时收到同样的错误:
error: {
"$err" : "Can't canonicalize query: BadValue unknown operator: $or",
"code" : 17287
}
我确实找到了一个已提出的 Jira,但我不确定它是否与同一问题有关 https://jira.mongodb.org/browse/SERVER-12981
我已经尝试了所有我能想到的组合,但我无法解决这个问题。
提前致谢。
编辑: 我确实尝试过 $nin 但它什么也没返回。即使这是 Mongo shell 查询,我也无法让它在 PyMongo 中工作,并且收到相同的错误
【问题讨论】:
标签: mongodb python-3.x pymongo