Để hợp nhất, hãy sử dụng toán tử $ setUnion. Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.mergeTwoArrayFieldDemo.insertOne({"NaturalNumbers":[1,2,3,8,10,20,30],"WholeNumbers":[0,1,2,63,78,20,45]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd68e4057806ebf1256f11d")
} Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -
> db.mergeTwoArrayFieldDemo.find().pretty();
Điều này sẽ tạo ra kết quả sau -
{
"_id" : ObjectId("5cd68e4057806ebf1256f11d"),
"NaturalNumbers" : [
1,
2,
3,
8,
10,
20,
30
],
"WholeNumbers" : [
0,
1,
2,
63,
78,
20,
45
]
} Sau đây là truy vấn để hợp nhất hai trường mảng trong MongoDB.
> db.mergeTwoArrayFieldDemo.aggregate([
{ "$project": {
"MergedArray": { "$setUnion": [ "$NaturalNumbers", "$WholeNumbers" ] }
}}
]); Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5cd68e4057806ebf1256f11d"), "MergedArray" : [ 0, 1, 2, 3, 8, 10, 20, 30, 45, 63, 78 ] }