mongodb - 如何在 Mongoose 的数组中为每个值添加一个字符串?
问题描述
假设我有一组这样的文件......
{ name: "Bob", listIDs: ["1c2f", "32a1", "0ebf"] }
{ name: "Meg", listIDs: ["a844", "8132", "b246"] }
...
如何将字符串“0000”添加到每个文档的 listIDs 中的每个值?例如
{ name: "Bob", listIDs: ["00001c2f", "000032a1", "00000ebf"] }
{ name: "Meg", listIDs: ["0000a844", "00008132", "0000b246"] }
...
解决方案
您可以尝试从 MongoDB 4.2 开始使用聚合管道进行更新,
$map
listIDs
迭代数组的循环$concat
与0000
元素值连接
db.collection.updateMany({},
[{
$set: {
listIDs: {
$map: {
input: "$listIDs",
in: { $concat: ["0000", "$$this"] }
}
}
}
}]
)
推荐阅读
- c++ - 如何使用c ++中的共享指针通过istream传递本地streambuf
- angular - 使用依赖注入将函数从一个组件传递到另一个组件
- spring-security - 如何即时刷新反应式 Spring Security 应用程序
- javascript - 在 Reactjs 中使用 CSSTransition 和 Group Transition 时没有动画
- javascript - 对 maps.google.com 进行大量(可能约为 100000)的 api 调用会导致 getaddrinfo ENOTFOUND 错误
- javascript - 在同一视频标签中显示摄像机和屏幕共享流,无镜像效果
- cmd - 如何用 cmd 替换 Azure 控制台?
- java - 线程“主”java.lang.IllegalArgumentException 中的异常:org.hibernate.QueryException:无法解析属性:
- python - Python模式替换单引号或双引号之间的单词
- javascript - 如何在 Chrome 中导入 json 文件?