ใช้การรวมสำหรับสิ่งนี้และเพิ่มค่าให้กับอาร์เรย์โดยใช้ตัวดำเนินการ $group และ $addToSet
ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> dbspecifyReturnFormatDemoinsertOne({"Subject":"MongoDB"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cefd364ef71edecf6a1f6c0")
}
> dbspecifyReturnFormatDemoinsertOne({"Subject":"MySQL"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cefd369ef71edecf6a1f6c1")
}
> dbspecifyReturnFormatDemoinsertOne({"Subject":"SQL Server"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cefd36fef71edecf6a1f6c2")
} ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> dbspecifyReturnFormatDemofind();
ผลลัพธ์
{ "_id" : ObjectId("5cefd364ef71edecf6a1f6c0"), "Subject" : "MongoDB" }
{ "_id" : ObjectId("5cefd369ef71edecf6a1f6c1"), "Subject" : "MySQL" }
{ "_id" : ObjectId("5cefd36fef71edecf6a1f6c2"), "Subject" : "SQL Server" } ต่อไปนี้เป็นแบบสอบถามเพื่อระบุรูปแบบการส่งคืน -
> dbspecifyReturnFormatDemoaggregate([
{
"$group": {
"_id": 0,
"Subject": {
"$addToSet": "$Subject"
}
}
},
{
"$project": {
"_id": 0,
"Subject": 1
}
}
]); ผลลัพธ์
{ "Subject" : [ "SQL Server", "MySQL", "MongoDB" ] }