pymongo 使用它的子字符串值更新字段集合中的所有文档

pymongo update all documents in collection for field with it's substring value

{'some': 'abcdefg', 'some2': 'hijklmn'}

期望的输出

{'some': 'abc', 'some2': 'hij'}

换句话说子串[:3]

如何使用 pymongo 实现此目的

您可以将 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)