เพื่อดึงค่าที่ไม่ซ้ำกันและข้ามค่าซ้ำ ให้ใช้ distinct() ใน MongoDB คำสั่ง distinct() จะหาค่าที่แตกต่างกันสำหรับฟิลด์ที่ระบุในคอลเล็กชันเดียวและคืนค่าผลลัพธ์เป็นอาร์เรย์
มาสร้างคอลเล็กชันพร้อมเอกสารกันเถอะ
> db.demo704.insertOne({"LanguageCode":"hi"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea6ee18551299a9f98c93bd") }
> db.demo704.insertOne({"LanguageCode":"en"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea6ee1e551299a9f98c93be") }
> db.demo704.insertOne({"LanguageCode":"hi"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea6ee20551299a9f98c93bf") }
> db.demo704.insertOne({"LanguageCode":"eo"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea6ee2c551299a9f98c93c0") }
> db.demo704.insertOne({"LanguageCode":"eu"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea6ee2f551299a9f98c93c1") }
> db.demo704.insertOne({"LanguageCode":"fo"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea6ee35551299a9f98c93c2") }
> db.demo704.insertOne({"LanguageCode":"fo"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea6ee37551299a9f98c93c3") }
แสดงเอกสารทั้งหมดด้วยเมธอด find()
> db.demo704.find();
ผลลัพธ์ที่ได้
{ "_id" : ObjectId("5ea6ee18551299a9f98c93bd"), "LanguageCode" : "hi" }
{ "_id" : ObjectId("5ea6ee1e551299a9f98c93be"), "LanguageCode" : "en" }
{ "_id" : ObjectId("5ea6ee20551299a9f98c93bf"), "LanguageCode" : "hi" }
{ "_id" : ObjectId("5ea6ee2c551299a9f98c93c0"), "LanguageCode" : "eo" }
{ "_id" : ObjectId("5ea6ee2f551299a9f98c93c1"), "LanguageCode" : "eu" }
{ "_id" : ObjectId("5ea6ee35551299a9f98c93c2"), "LanguageCode" : "fo" }
{ "_id" : ObjectId("5ea6ee37551299a9f98c93c3"), "LanguageCode" : "fo" }
คำสั่งดึงค่าที่ไม่ซ้ำกันและแสดงผลเป็นอาร์เรย์
> db.demo704.distinct("LanguageCode");
ผลลัพธ์ที่ได้
[ "hi", "en", "eo", "eu", "fo" ]