我正在尝试删除我的数据 Product 然后是图像上的字符串,因为我有重复的值。
db={
"Product": [
{
"images": [
{
id: 1,
URL: "https://stackoverflow.com/questions/ask.png"
},
{
id: 2,
URL: "https://stackoverflow.com/questions/ask100?=view.png"
},
{
id: 3,
URL: "https://stackoverflow.com/questions/ask101.png.png"
}
]
}
]
}
这是我当前用于聚合的实现,但它不会更新我的任何字段。
db.Product.aggregate([
{
$project: {
id: 1,
"images": {
$map: {
input: "$images",
as: "i",
in: {
"$mergeObjects": [
"$$i",
{
$arrayElemAt: [
{
"$split": [
"$URL",
".png"
]
},
0
]
}
]
}
}
}
}
}
])
预期输出:
"images": [
{
id: 1,
URL: "https://stackoverflow.com/questions/ask"
},
{
id: 2,
URL: "https://stackoverflow.com/questions/ask100?=view"
},
{
id: 3,
URL: "https://stackoverflow.com/questions/ask101"
}
]
}
当我在上面运行聚合时,它什么也不做。