【发布时间】:2021-07-12 19:08:07
【问题描述】:
关于数组修改的 Mongodb 聚合我被困在某个地方。
我的数组如下所示:
[
{
location: {
open: true,
expected: [
"foo",
"bar",
"baz"
]
}
}
]
我想查找并替换特定值并转换为ObjectId。
我尝试过使用这个管道:
[
{
$match: {
"location.expected": {$eq: "foo"}
},
}
{
$set: {
"location.expected": {
$map: {
input: "$location.expected",
as: "loc",
in: {
$replaceAll: {
input: "$$loc",
find: "foo",
replacement: "60783e804136605b0a48bfe8"
}
}
}
}
}
}
]
现在可以了。但我无法转换为 ObjectId,替换值。
所以,我是关于查找、替换和转换特定简单数组值的简单解决方案。
谢谢大家。
【问题讨论】:
标签: arrays mongodb aggregation-framework aggregate