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

Tạo mảng với truy vấn MongoDB?

Để 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.