Để hiển thị một trường cụ thể, hãy sử dụng $ project cùng với $ unwind. Để bỏ qua một trường, hãy đặt thành 0. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.demo731.insertOne({ "ProductInformation": [ { ProductId:"Product-1", ProductPrice:80 }, { ProductId:"Product-2", ProductPrice:45 }, { ProductId:"Product-3", ProductPrice:50 } ] } ); { "acknowledged" : true, "insertedId" : ObjectId("5eac5efd56e85a39df5f6341") }
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.demo731.find();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5eac5efd56e85a39df5f6341"), "ProductInformation" : [ { "ProductId" : "Product-1", "ProductPrice" : 80 }, { "ProductId" : "Product-2", "ProductPrice" : 45 }, { "ProductId" : "Product-3", "ProductPrice" : 50 } ] }
Sau đây là truy vấn để hiển thị một trường cụ thể trong mảng bằng cách sử dụng $ project trong MongoDB -
> db.demo731.aggregate([ ... { $unwind: "$ProductInformation" }, ... { $match: { "ProductInformation.ProductPrice": 80} }, ... { $project: {_id: 0,"ProductInformation.ProductPrice":0}} ... ])
Điều này sẽ tạo ra kết quả sau -
{ "ProductInformation" : { "ProductId" : "Product-1" } }