Sử dụng phương thức distinct(). Tạo collection:
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"John","Age":23});
{ "acknowledged": true, "insertedId": ObjectId("5cd12759e3526dbddbbfb60b") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Larry","Age":25});
{ "acknowledged": true, "insertedId": ObjectId("5cd12768e3526dbddbbfb60c") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"David","Age":25});
{ "acknowledged": true, "insertedId": ObjectId("5cd12773e3526dbddbbfb60d") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Carol","Age":26});
{ "acknowledged": true, "insertedId": ObjectId("5cd1277ee3526dbddbbfb60e") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Sam","Age":25});
{ "acknowledged": true, "insertedId": ObjectId("5cd12793e3526dbddbbfb60f") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Larry","Age":25});
{ "acknowledged": true, "insertedId": ObjectId("5cd127a3e3526dbddbbfb610") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Carol","Age":26});
{ "acknowledged": true, "insertedId": ObjectId("5cd127aae3526dbddbbfb611") }
Hiển thị tất cả
> db.distinctNameAndAgeDemo.find().pretty();
Truy vấn tương đương SELECT DISTINCT
> db.distinctNameAndAgeDemo.distinct("ClientFirstName", {"Age": 25});
Kết quả:
["Larry", "David", "Sam"]
Trên đây là danh sách tên khách hàng duy nhất có tuổi 25 (Larry xuất hiện 2 lần nhưng chỉ lấy 1).
Cú pháp: db.collection.distinct(field, query) — trả về mảng giá trị duy nhất của field thỏa mãn query.