有没有办法将两个字段的值合并为一个字段或数组? 我有一个像这样的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并不重要。我已经尝试了很多聚合和级联查询命令,但却无法得到所需的响应。
答案 0 :(得分:2)
我只是找到一个更简单的解决方案:
db.LINK.aggregate([
{ $group: {"_id":0,"list1":{$addToSet:"$side1"},"list2":{$addToSet:"$side2"}}} ,
{ $project: {array:{$setUnion:["$list1","$list2"]}}}
])