我正在尝试从字符串末尾删除wwww.po.com。
字符串: “ https://www.po.com/dw/test1 https://www.po.com/dw/test2 https://www.po.com/dw/test3 https://www.po.com https://www.po.com”
所以输出将是: “ https://www.po.com/dw/test1 https://www.po.com/dw/test2 https://www.po.com/dw/test3”
我尝试了几次$ split和聚合,但是我要么丢失了所有www.po.com,要么只剩下https://www.po.com/dw/test1。 URL和子字符串的数量不一致。
任何帮助表示赞赏!谢谢!
答案 0 :(得分:0)
如果顺序不重要,则可以将$setUnion
与$reduce
一起使用。假设您要更新现有集合:
db.collection.updateMany({},
[{$set:{
string:{
$reduce:{
input:{$split:["$string"," "]},
initialValue:[],
in:{$setUnion:["$$value",["$$this"]]}
}
}
}}]
)