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

วิธีดึงค่าที่ไม่ซ้ำกัน (Unique Values) จากคอลเล็กชัน MongoDB


เพื่อดึงค่าที่ไม่ซ้ำกันและข้ามค่าซ้ำ ให้ใช้ 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" ]