Toán tử $unwind trong aggregate "bẻ" mảng thành nhiều document, mỗi document chứa một element của mảng.
Tạo collection demo276:
> db.demo276.insertOne({"Name":"Chris","Subjects":["MySQL","MongoDB"]});
Áp dụng $unwind trên trường Subjects:
> db.demo276.aggregate([{$unwind:"$Subjects"}])
Kết quả: 1 document gốc thành 2 document, mỗi cái một Subject:
{
"_id" : ObjectId("5e48f953dd099650a5401a51"),
"Name" : "Chris",
"Subjects" : "MySQL"
}
{
"_id" : ObjectId("5e48f953dd099650a5401a51"),
"Name" : "Chris",
"Subjects" : "MongoDB"
}
Ứng dụng: Dùng $unwind trước khi $group, $sort, $match trên các phần tử mảng.