是否有办法将两个字段的值合并为一个字段或数组?我有这样一个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"]}}}
])