从字符串Mongodb的末尾删除子字符串

时间:2020-04-22 04:30:44

标签: mongodb mongodb-query aggregation-framework

我正在尝试从字符串末尾删除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和子字符串的数量不一致。

任何帮助表示赞赏!谢谢!

1 个答案:

答案 0 :(得分:0)

如果顺序不重要,则可以将$setUnion$reduce一起使用。假设您要更新现有集合:

db.collection.updateMany({},
    [{$set:{
          string:{
              $reduce:{
                   input:{$split:["$string"," "]},
                   initialValue:[],
                   in:{$setUnion:["$$value",["$$this"]]}
              }
         }
    }}]
)