Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Chỉ định định dạng trả về mảng giá trị trong MongoDB Aggregation

Sử dụng Aggregation Framework với $group và $addToSet để gom các giá trị vào mảng.

Tạo collection với document:

> db.specifyReturnFormatDemo.insertOne({"Subject":"MongoDB"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefd364ef71edecf6a1f6c0") }
> db.specifyReturnFormatDemo.insertOne({"Subject":"MySQL"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefd369ef71edecf6a1f6c1") }
> db.specifyReturnFormatDemo.insertOne({"Subject":"SQL Server"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefd36fef71edecf6a1f6c2") }

Hiển thị tất cả document:

> db.specifyReturnFormatDemo.find();

Kết quả

{ "_id" : ObjectId("5cefd364ef71edecf6a1f6c0"), "Subject" : "MongoDB" }
{ "_id" : ObjectId("5cefd369ef71edecf6a1f6c1"), "Subject" : "MySQL" }
{ "_id" : ObjectId("5cefd36fef71edecf6a1f6c2"), "Subject" : "SQL Server" }

Truy vấn Aggregation gom tất cả Subject vào một mảng duy nhất:

> db.specifyReturnFormatDemo.aggregate([
    {
      "$group": {
        "_id": 0,
        "Subject": { "$addToSet": "$Subject" }
      }
    },
    {
      "$project": { "_id": 0, "Subject": 1 }
    }
]);

Kết quả

{ "Subject" : [ "SQL Server", "MySQL", "MongoDB" ] }