Sử dụng phân biệt () cho điều này, vì nó tìm các giá trị riêng biệt cho một trường được chỉ định trên một tập hợp hoặc chế độ xem và trả về kết quả trong một mảng.
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.projectionListDemo.insertOne({"_id":"1","Subject":["MongoDB","MySQL","Java"]}); { "acknowledged" : true, "insertedId" : "1" } > db.projectionListDemo.insertOne({"_id":"2","Subject":["MongoDB","C","C++"]}); { "acknowledged" : true, "insertedId" : "2" } > db.projectionListDemo.insertOne({"_id":"3","Subject":["Java","Python"]}); { "acknowledged" : true, "insertedId" : "3" }
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.projectionListDemo.find().pretty();
Đầu ra
{ "_id" : "1", "Subject" : [ "MongoDB", "MySQL", "Java" ] } { "_id" : "2", "Subject" : [ "MongoDB", "C", "C++" ] } { "_id" : "3", "Subject" : [ "Java", "Python" ] }
Bây giờ, chúng ta hãy lấy kết quả là một mảng các mục đã chọn -
> db.projectionListDemo.distinct('_id', {'Subject' : 'MongoDB'});
Đầu ra
[ "1", "2" ]