คุณสามารถใช้คำสั่งเฉพาะสำหรับสิ่งนี้ เพื่อให้เข้าใจแนวคิด ให้เราสร้างคอลเลกชันพร้อมกับเอกสาร แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้ -
> 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")
} แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังนี้ −
> 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"
]
} นี่คือการสืบค้นเพื่อค้นหาค่าที่แตกต่างกันจำนวนหนึ่งต่อฟิลด์/คีย์ -
> db.distinctCountValuesDemo.distinct('StudentFavouriteSubject'); ต่อไปนี้เป็นผลลัพธ์ -
[ "C", "C++", "Java", "MySQL", "MongoDB", "SQL Server" ]
นี่คือแบบสอบถามเพื่อค้นหาความยาวของค่าที่แตกต่างกันในอาร์เรย์ -
> db.distinctCountValuesDemo.distinct('StudentFavouriteSubject').length; ต่อไปนี้เป็นผลลัพธ์ -
6