跨集合将两个字段的值合并为一个字段



是否有办法将两个字段的值合并为一个字段或数组?我有这样一个MongoDB集合:

{"_id": 1, "side1": "a", "side2": "b"},
{"_id": 2, "side1": "c", "side2": "b"},
{"_id": 3, "side1": "b", "side2": "d"},
{"_id": 4, "side1": "a", "side2": "d"}

如何获得一个包含side1和side2所有值的数组

{"_id": null, "sides": ["a", "b", "c", "d"]}

id不重要。我已经尝试了许多聚合和级联查询命令,只是不能提出所需的响应。

我找到了一个更简单的解决方案:

   db.LINK.aggregate([
     { $group: {"_id":0,"list1":{$addToSet:"$side1"},"list2":{$addToSet:"$side2"}}} ,
     { $project: {array:{$setUnion:["$list1","$list2"]}}}
   ])

相关内容

  • 没有找到相关文章

最新更新