Kha*_*lam 2 mongodb mongodb-query
在我的文档中,有一个字符串类型的字段imageUrl: '/xyz/....',但现在我需要从该字段中删除第一个字符,并像imageUrl: 'xyz/....'所有文档一样更新该字段。
在 MongoDB 版本上,您可以在.update()4.0中执行聚合管道,尝试下面的查询 - 这将用新值覆盖字段,有助于修剪原始字符串中的第一个字母:imageUrl$substr
db.collection.updateMany({},
[{
$set: {
imageUrl: {
$substrBytes: ["$imageUrl", 1, -1]
}
}
}]
);
Run Code Online (Sandbox Code Playgroud)
测试: mongoplayground
注意:一般来说,查询应该可以正常工作,但在过去,我见过一些.updateMany从客户端(例如robo3T旧版 mongo shell)执行的问题,如果您看到的是这样的情况,那么我建议使用.update()with option {multi : true}。
更新:在最新的 MongoDB 版本 >= 上,3.4您需要使用$substrByteswhich 是$substr. 此外,如果您想检查/字段的第一个字符是否存在,imageUrl那么您需要添加{imageUrl: /^[/]/}的过滤器部分.updateMany()。
| 归档时间: |
|
| 查看次数: |
2718 次 |
| 最近记录: |