Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

นับจำนวนค่าที่ไม่ซ้ำกัน (Distinct Count) ต่อฟิลด์ใน MongoDB

ใช้เมธอด distinct() เพื่อดึงค่าที่ไม่ซ้ำกันของฟิลด์ แล้วใช้ .length เพื่อนับจำนวน

ตัวอย่างการใช้งาน

สร้างคอลเลกชัน distinctCountValuesDemo:

> db.distinctCountValuesDemo.insertOne({"StudentFirstName":"John","StudentFavouriteSubject":["C","C++","Java","MySQL","C","C++"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8a39f193b406bd3df60e07") }
> db.distinctCountValuesDemo.insertOne({"StudentFirstName":"Larry","StudentFavouriteSubject":["MongoDB","SQL Server"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8a3a1193b406bd3df60e08") }

แสดงข้อมูล:

> db.distinctCountValuesDemo.find().pretty();
{"_id" : ObjectId("5c8a39f193b406bd3df60e07"), "StudentFirstName" : "John", "StudentFavouriteSubject" : [ "C", "C++", "Java", "MySQL", "C", "C++" ] }
{"_id" : ObjectId("5c8a3a1193b406bd3df60e08"), "StudentFirstName" : "Larry", "StudentFavouriteSubject" : [ "MongoDB", "SQL Server" ] }

ดึงค่า distinct ของฟิลด์ StudentFavouriteSubject (รวมจากทุกเอกสาร):

> db.distinctCountValuesDemo.distinct('StudentFavouriteSubject');
[ "C", "C++", "Java", "MySQL", "MongoDB", "SQL Server" ]

นับจำนวนค่าที่ไม่ซ้ำกัน:

> db.distinctCountValuesDemo.distinct('StudentFavouriteSubject').length;
6

มีวิชาที่ไม่ซ้ำกันทั้งหมด 6 วิชา