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

Chỉ định định dạng trả về dữ liệu trong MongoDB

Sử dụng $addToSet trong aggregation để gom các giá trị distinct vào mảng. Tạo collection:

> db.demo207.insertOne({"FavouriteTechnology":"Spring Boot"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3d8e7a03d395bdc21346f1") }
> db.demo207.insertOne({"FavouriteTechnology":"MongoDB"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3d8e8f03d395bdc21346f2") }
> db.demo207.insertOne({"FavouriteTechnology":"Groovy"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3d8ea603d395bdc21346f3") }

Hiển thị tài liệu:

> db.demo207.find();

Aggregation gom tất cả FavouriteTechnology distinct vào một mảng:

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

Kết quả - mảng unique các công nghệ:

Giải thích: $addToSet chỉ thêm giá trị chưa có trong mảng (loại bỏ trùng lặp). $group với _id: 0 gom toàn bộ collection thành một nhóm. $project loại bỏ _id khỏi kết quả.