Bạn có thể sử dụng diff () để tương đương với select riêng biệt. Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> 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") }
Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -
> db.distinctNameAndAgeDemo.find().pretty();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5cd12759e3526dbddbbfb60b"), "ClientFirstName" : "John", "Age" : 23 } { "_id" : ObjectId("5cd12768e3526dbddbbfb60c"), "ClientFirstName" : "Larry", "Age" : 25 } { "_id" : ObjectId("5cd12773e3526dbddbbfb60d"), "ClientFirstName" : "David", "Age" : 25 } { "_id" : ObjectId("5cd1277ee3526dbddbbfb60e"), "ClientFirstName" : "Carol", "Age" : 26 } { "_id" : ObjectId("5cd12793e3526dbddbbfb60f"), "ClientFirstName" : "Sam", "Age" : 25 } { "_id" : ObjectId("5cd127a3e3526dbddbbfb610"), "ClientFirstName" : "Larry", "Age" : 25 } { "_id" : ObjectId("5cd127aae3526dbddbbfb611"), "ClientFirstName" : "Carol", "Age" : 26 }
Truy vấn sau tương đương với `select diff (name) from collectionName where age =“ 25 ”-
> db.distinctNameAndAgeDemo.distinct("ClientFirstName", {"Age": 25});
Điều này sẽ tạo ra kết quả sau -
[ "Larry", "David", "Sam" ]
Ở trên, chúng tôi đã hiển thị tên của khách hàng có độ tuổi là 25.