Bạn cần $group
tài liệu của chúng tôi và sử dụng $push
toán tử tích lũy để trả về một mảng "a" và "b" trong tập hợp.
Trong $project
toán tử bạn sử dụng $setUnion
toán tử để lọc ra các bản sao.
db.coll.aggregate(
[
{ "$group": {
"_id": null,
"a": { "$push": "$a" },
"b": { "$push": "$b" }
}},
{ "$project": {
"_id": 0,
"merged": { "$setUnion": [ "$a", "$b" ] }
}}
]
)
nơi sản xuất:
{ "merged" : [ 3, 2, 0, 1 ] }