Để tạo mảng (array) từ kết quả truy vấn MongoDB, bạn sử dụng phương thức toArray() trên cursor trả về bởi find().
Cú pháp
> db.createArrayDemo.insertOne({"UserName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6461de8cc557214c0e00") }
> db.createArrayDemo.insertOne({"UserName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6467de8cc557214c0e01") }
> db.createArrayDemo.insertOne({"UserName":"Robert"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd646cde8cc557214c0e02") }
> db.createArrayDemo.insertOne({"UserName":"Sam"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6470de8cc557214c0e03") }
Hiển thị tất cả:
{ "_id" : ObjectId("5cbd6461de8cc557214c0e00"), "UserName" : "Chris" }
{ "_id" : ObjectId("5cbd6467de8cc557214c0e01"), "UserName" : "David" }
{ "_id" : ObjectId("5cbd646cde8cc557214c0e02"), "UserName" : "Robert" }
{ "_id" : ObjectId("5cbd6470de8cc557214c0e03"), "UserName" : "Sam" }
Trường hợp 1: Tạo mảng chỉ chứa UserName (loại trừ _id)
[ { "UserName" : "Chris" }, { "UserName" : "David" }, { "UserName" : "Robert" }, { "UserName" : "Sam" } ]
Trường hợp 2: Tạo mảng chỉ chứa _id
[ { "_id" : ObjectId("5cbd6461de8cc557214c0e00") }, { "_id" : ObjectId("5cbd6467de8cc557214c0e01") }, { "_id" : ObjectId("5cbd646cde8cc557214c0e02") }, { "_id" : ObjectId("5cbd6470de8cc557214c0e03") } ]
Lưu ý
toArray()tải toàn bộ kết quả vào bộ nhớ - cẩn thận với result set lớn- Trả về JavaScript Array chứa các document (object)
- Hữu ích cho script shell, xử lý batch, hoặc gán vào biến:
var users = db.users.find({},{_id:0,name:1}).toArray() - Trong driver: Thường dùng
toArray()(Node.js),to_list()(Python), v.v.