为了账号安全,请及时绑定邮箱和手机立即绑定

mongodb中如何将数组转换为字符串

mongodb中如何将数组转换为字符串

qq_遁去的一_1 2023-07-06 16:57:57
我有以下架构{ id: 123, values:[   {valueId: "12444", name: "asd"},   {valueId: "555", name: "www"}, ]}我想将其转换为(合并name为单个字符串){ id: 123, values: "asdwww"}我尝试过下面的聚合,它将所有名称值放入一个数组中$project: {      attributes: {        "$map": {          "input": "$attributes",          "as": "attr",          "in": {            "id": "$$attr.id",            "values": "$$attr.values.name"          }        }      }    },这使得它变成{ id: 123, values:[     "asd",     "www"   ]}我想要将值作为单个字符串值"asd,www"或"asdwww"
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

你需要$reduce而不是$map

db.collection.aggregate([

    {

        $project: {

            _id: 1,

            values: {

                $reduce: {

                    input: "$values",

                    initialValue: "",

                    in: { $concat: [ "$$value", "$$this.name" ] }

                }

            }

        }

    }

])

查看完整回答
反对 回复 2023-07-06
  • 1 回答
  • 0 关注
  • 232 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信