Computer >> Máy Tính >  >> Lập trình >> MongoDB

Truy vấn tài liệu con MongoDB để in trên một dòng?

Để hiển thị các tài liệu con trong một dòng, hãy sử dụng $ unwind cùng với tổng hợp (). Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo183.insertOne (... {... "_id":"110", ... "DueDate":ISODate ("2020-02-04T01:10:42.000Z"), .. . "ProductDetails":[... {... "ProductName":"Product-1", ... "isAvailable":true ...}, ... {... "ProductName":"Product- 2 ", ..." isAvailable ":false ...} ...] ...} ...); {"nition":true, "insertId":"110"} 

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.demo183.find (). khá (); 

Điều này sẽ tạo ra kết quả sau -

 {"_id":"110", "DueDate":ISODate ("2020-02-04T01:10:42Z"), "ProductDetails":[{"ProductName":"Product-1", "isAvailable" :true}, {"ProductName":"Product-2", "isAvailable":false}]} 

Sau đây là cách truy vấn tài liệu con và in trên một dòng -

> var productdata =function (d) {... print (d.DueDate + "," + d.ProductDetails.ProductName + "," + d.ProductDetails.isAvailable); ...}> var iterator =db .demo183.aggregate ([... {$ match:{_id:"110"}}, ... {$ unwind:'$ ProductDetails'} ...]);> iterator.forEach (productdata);  

Điều này sẽ tạo ra kết quả sau -

 Thứ 3, ngày 4 tháng 2 năm 2020 06:40:42 GMT + 0530 (Giờ chuẩn Ấn Độ), Sản phẩm-1, đúng Ngày 04 tháng 2 năm 2020 06:40:42 GMT + 0530 (Giờ chuẩn Ấn Độ), Sản phẩm-2, sai