我有以下收藏:
[
{
"_id": "6021d4e8de525e00bb3623f1",
...otherFields,
"addonGroups": [
{
"_id": "6021d474143dbb00da601e6a",
...otherFields,
"addons": [
{
"name": "Nike\t珍珠",
...otherFields,
},
{
"name": "Adidas\t椰果",
...otherFields,
},
]
}
],
}
]
我想\t在所有插件名稱欄位上替換空格字符“”
我有以下內容:
db.collection.aggregate([
{
$addFields: {
"addonGroups.addons.name": {
$replaceAll: {
input: "$addonGroups.addons.name",
find: "\t",
replacement: " "
}
}
}
}
])
我收到此錯誤:
查詢失敗:(Location51746)PlanExecutor 聚合時出錯:: 由:: $replaceAll 要求'input' 為字串, 發現: [["Nike 珍珠", "Adidas 椰果"]]
uj5u.com熱心網友回復:
您可以與$map運營商合作。
db.collection.aggregate([
{
$set: {
addonGroups: {
$map: {
input: "$addonGroups",
as: "addonGroup",
in: {
"$mergeObjects": [
"$$addonGroup",
{
"addons": {
$map: {
input: "$$addonGroup.addons",
as: "addon",
in: {
$mergeObjects: [
"$$addon",
{
"name": {
$replaceAll: {
input: "$$addon.name",
find: "\t",
replacement: " "
}
}
}
]
}
}
}
}
]
}
}
}
}
}
])
示例 Mongo Playground
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/448570.html
標籤:数据库 mongodb 形式 mongodb查询 聚合框架
上一篇:描述php物件
