将 mongodb 查询转换为 pymongo

Converting mongodb queries to pymongo

下面的查询在 mongodb 中工作正常:

db.article.find({$and:[{"version":1},{"targetGroup" : ["ecpa"]},{"state":"published"}]}).limit(5).pretty()

但是当我从 python 运行 它时,它会抛出错误作为无效语法:

from pymongo import MongoClient
import pprint

client = MongoClient('127.0.0.1', 27300)
db = client['data']
article= db.article

articles = article.find({$and:[{"version":1},{"targetGroup" : ["ecpa"]},{"state":"published"}]})
for item in articles:
    pprint.pprint(item)

我需要更改什么才能使这项工作正常进行?

在 pymongo 中,$and 运算符应该在一个字符串中,所以 articles = article.find({"$and":[{"version":1},{"targetGroup" : ["ecpa"]},{"state":"published"}]}) 应该可以工作。

无论如何,下次你应该post你得到的整个错误,这样会更容易回答