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

Truy vấn MongoDB để chỉ trả về các trường cụ thể (số điện thoại) ở dạng mảng?

Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo166.insertOne({"details" : { "UserName" : "Chris", "UserAge":29, "PhoneDetails" : { "PhoneNumber" : "98646463533" } } });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e368b159e4f06af551997cf")
}
> db.demo166.insertOne({"details" : { "UserName" : "David", "UserAge":21, "PhoneDetails" : { "PhoneNumber" : "87664534654" } } });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e368b159e4f06af551997d0")
}

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.demo166.find();

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

{ "_id" : ObjectId("5e368b159e4f06af551997cf"), "details" : { "UserName" : "Chris", "UserAge" : 29, "PhoneDetails" : { "PhoneNumber" : "98646463533" } } }
{ "_id" : ObjectId("5e368b159e4f06af551997d0"), "details" : { "UserName" : "David", "UserAge" : 21, "PhoneDetails" : { "PhoneNumber" : "87664534654" } } }

Sau đây là truy vấn để chỉ trả về các trường cụ thể (số điện thoại) ở dạng mảng -

> db.demo166.distinct("details.PhoneDetails.PhoneNumber");

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

[ "98646463533", "87664534654" ]