MongoDB 4.0.0全集合为指定字段末尾添加空格及移除方法
MongoDB 4.0.0 批量修改
audit.created_at字段(添加/移除末尾空格) 给所有文档的audit.created_at末尾添加空格
MongoDB 4.0支持在updateMany中使用聚合管道实现字段值的拼接更新,直接执行以下命令(替换yourCollection为你的实际集合名):
db.yourCollection.updateMany( {}, // 匹配集合中所有文档 [ { $set: { "audit.created_at": { $concat: ["$audit.created_at", " "] } } } ] )
这里用$concat操作符将原audit.created_at的字符串值与一个空格拼接,完成末尾加空格的需求。
移除audit.created_at末尾的空格
如果后续需要去掉末尾空格,推荐用$rtrim操作符(支持移除所有末尾连续空格,比精准截取更稳妥),执行命令:
db.yourCollection.updateMany( {}, [ { $set: { "audit.created_at": { $rtrim: { input: "$audit.created_at" } } } } ] )
如果确认只有一个末尾空格,也可以用$substr截取原字符串长度减1的部分,但$rtrim能适配末尾有多个空格的情况,通用性更强。
注意:MongoDB 4.0及以上版本才能用聚合管道作为更新操作的参数,这是实现字段值自修改的关键方式。
内容的提问来源于stack exchange,提问作者YourMomsDataEngineer
相关产品推荐
相关产品推荐

