Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Tương đương MongoDB của SELECT DISTINCT name WHERE age = 25

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.