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

Trả về danh sách giá trị cụ thể từ truy vấn MongoDB

Để trả về danh sách giá trị cụ thể, sử dụng map() trên cursor. Tạo collection:

> db.demo195.insertOne({"Subject":"MySQL"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3af3f203d395bdc21346d4") }
> db.demo195.insertOne({"Subject":"MongoDB"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3af3f703d395bdc21346d5") }
> db.demo195.insertOne({"Subject":"Java"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3af3fa03d395bdc21346d6") }

Hiển thị tất cả:

> db.demo195.find();

Kết quả:

Sử dụng map() để trích xuất chỉ trường Subject thành mảng:

> db.demo195.find().map(function(doc){ return doc.Subject });

Kết quả - mảng đơn giản chứa các giá trị Subject:

Lưu ý: map() chạy ở phía client (mongo shell), không phải server-side. Với tập dữ liệu lớn, hãy dùng aggregation $group với $push hoặc $addToSet để xử lý ở server.