pymongo 用它的子字符串值更新字段集合中的所有文档
Posted
技术标签:
【中文标题】pymongo 用它的子字符串值更新字段集合中的所有文档【英文标题】:pymongo update all documents in collection for field with it's substring value 【发布时间】:2021-02-28 15:50:33 【问题描述】:'some': 'abcdefg', 'some2': 'hijklmn'
期望的输出
'some': 'abc', 'some2': 'hij'
换句话说,子字符串 [:3]
如何使用 pymongo 实现这一目标
【问题讨论】:
【参考方案1】:您可以将 updatemany 与聚合一起使用:https://docs.mongodb.com/manual/tutorial/update-documents-with-aggregation-pipeline/
update_pipe = [
"$set":
"some":
"$substr": ['$some', 0,3]
,
,
"$set":
"some2":
"$substr": ['$some2', 0,3]
,
]
collection.update_many(, update_pipe)
【讨论】:
可以像在python中那样使用负索引吗?例如 0, -14? 对长度参数使用负值会从起始索引返回字符串的其余部分,因此在这种情况下,是整个字符串。 所以答案是否定的,然后我需要遍历文档并计算正确的索引,有什么帮助吗? 取决于您的需要,您可以使用字符串的长度和 $add/$subtract 来获得正确的索引。 ***.com/questions/56537076/…以上是关于pymongo 用它的子字符串值更新字段集合中的所有文档的主要内容,如果未能解决你的问题,请参考以下文章