Để lấy các giá trị duy nhất và bỏ qua trùng lặp, sử dụng phương thức distinct(). Phương thức này tìm các giá trị khác nhau cho một trường cụ thể và trả về kết quả dưới dạng mảng.
Tạo collection với mã ngôn ngữ (có trùng lặp):
> 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") }
Hiển thị tất cả (có trùng):
> 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" }
Truy vấn lấy giá trị duy nhất:
> db.demo704.distinct("LanguageCode");
Kết quả (mảng không trùng lặp):
[ "hi", "en", "eo", "eu", "fo" ]
Lưu ý: distinct() trả về mảng các giá trị duy nhất, rất hữu ích cho dropdown, filter hoặc thống kê.