Mav*_*hin 3 mongodb pymongo mongodb-query
我有 PyMongo 查询 - 我正在尝试增加文档内数组的组标签值的值。
UpdateOne({
"document": ObjectId(document_data),
"result": {'$elemMatch': {
"class_label": {"$regex": label_regex},
"group_label": {'$gt': group_label_data}}}
},
{'$inc': {"result.$[element].group_label": -1}},
{
'arrayFilters': [
{
"element.class_label": label_regex,
"element.group_label": {'$gt': group_label_data}
}
],
'upsert': False
}
)
Run Code Online (Sandbox Code Playgroud)
我为此得到的错误 -
TypeError: upsert must be True or False
Run Code Online (Sandbox Code Playgroud)
你能帮我一下吗?我是 MongoDB 的新手。如果需要更多信息,请告诉我。
提前致谢!
首先,我怀疑您需要该update_one()方法而不是 UpdateOne 批量运算符。
update_one() 需要 upsert 和 array_filters 作为参数,所以你需要这样的东西:
db.mycollection.update_one(
{
"document": ObjectId(document_data),
"result": {'$elemMatch': {
"class_label": {"$regex": label_regex},
"group_label": {'$gt': group_label_data}}}
},
{'$inc': {"result.$[element].group_label": -1}},
upsert=False,
array_filters=[
{
"element.class_label": label_regex,
"element.group_label": {'$gt': group_label_data}
}
]
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
677 次 |
| 最近记录: |