ใช้การรวมสำหรับสิ่งนี้และเพิ่มค่าให้กับอาร์เรย์โดยใช้ตัวดำเนินการ $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" ] }