Sử dụng phương thức distinct() để lấy các giá trị duy nhất của một trường trong MongoDB.
Cú pháp
db.tênCollection.distinct("tênTrường");
Ví dụ minh họa
Tạo collection distinctRecordDemo với dữ liệu sinh viên:
> db.distinctRecordDemo.insertOne({"MaSinhVien": 1, "TenSinhVien": "John", "TuoiSinhVien": 21});
> db.distinctRecordDemo.insertOne({"MaSinhVien": 2, "TenSinhVien": "John", "TuoiSinhVien": 22});
> db.distinctRecordDemo.insertOne({"MaSinhVien": 3, "TenSinhVien": "Carol", "TuoiSinhVien": 21});
> db.distinctRecordDemo.insertOne({"MaSinhVien": 4, "TenSinhVien": "Carol", "TuoiSinhVien": 26});
> db.distinctRecordDemo.insertOne({"MaSinhVien": 5, "TenSinhVien": "Sam", "TuoiSinhVien": 24});
> db.distinctRecordDemo.insertOne({"MaSinhVien": 6, "TenSinhVien": "Mike", "TuoiSinhVien": 27});
> db.distinctRecordDemo.insertOne({"MaSinhVien": 7, "TenSinhVien": "Sam", "TuoiSinhVien": 28});
Trường hợp 1: Lấy tên sinh viên duy nhất
> db.distinctRecordDemo.distinct("TenSinhVien");
["John", "Carol", "Sam", "Mike"]
Trường hợp 2: Lấy tuổi sinh viên duy nhất
> db.distinctRecordDemo.distinct("TuoiSinhVien");
[21, 22, 26, 24, 27, 28]
Phương thức distinct() tự động loại bỏ các giá trị trùng lặp và trả về mảng các giá trị duy nhất.