gpt4 book ai didi

python - 在 PyMongo 中查询数组

转载 作者:可可西里 更新时间:2023-11-01 10:45:58 25 4
gpt4 key购买 nike

我正在尝试使用 PyMongo 查询一个数组,我正在获取所有值,而不仅仅是匹配 'A A'

的值

数组格式:

"tags": [
{
"tag": {
"name": "A A"
}
}
]

Python 代码:

import pymongo
from pprint import pprint


myclient = pymongo.MongoClient("mongodb://00.00.00.0:27017")
mydb = myclient["dbName"]
mycol = mydb["thePage"]


for x in mycol.find({},{"_id": 0, "tags.tag.name": "A A"}):
pprint(x)

结果:

[{'tag': {'name': 'A A'}}, 
{'tag': {'name': 'B B'}},
{'tag': {'name': 'C C'}}]

预期结果:

{'name': 'A A'}

我使用 MongoDB 得到了我需要的结果:

db.dbName.where("tags.tag.name").eq("A A")

最佳答案

你需要先解构数组。尝试这样做:

mycol.aggregate([
{'$unwind':'$tags'},
{'$match': {
'tags.tag.name':'A A',
}},
{'$project': {
'tags.tag.name': 1, '_id': 0
}},
])

关于python - 在 PyMongo 中查询数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52360924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com