如何使用 MongoDB 查詢建立陣列?


你可以使用 toArray() 的概念來建立陣列。以下為語法 -

db.yourCollectonName.find({}, {yourFieldName:1}).toArray();

讓我們建立一個包含文件的集合 -

> 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")
}

在集合中使用 find() 方法顯示所有文件 -

> db.createArrayDemo.find().pretty();

這將產生以下輸出 -

{ "_id" : ObjectId("5cbd6461de8cc557214c0e00"), "UserName" : "Chris" }
{ "_id" : ObjectId("5cbd6467de8cc557214c0e01"), "UserName" : "David" }
{ "_id" : ObjectId("5cbd646cde8cc557214c0e02"), "UserName" : "Robert" }
{ "_id" : ObjectId("5cbd6470de8cc557214c0e03"), "UserName" : "Sam" }

案例 1 - 使用 MongoDB 建立陣列。

如果你想建立一個 UserName 欄位的陣列,並且不想要 _id 欄位,請使用以下查詢。

> db.createArrayDemo.find({},{_id:0}, {UserName:1}).toArray();

這將產生以下輸出 -

[
   {
      "UserName" : "Chris"
   },
   {
      "UserName" : "David"
   },
   {
      "UserName" : "Robert"
   },
   {
      "UserName" : "Sam"
   }
]

案例 2 - 僅使用欄位名稱 _id 使用 MongoDB 建立陣列

如果你想使用欄位名稱 _id 建立一個數組,請使用以下查詢。

> db.createArrayDemo.find({}, {_id:1}).toArray();

這將產生以下輸出 -

[
   {
      "_id" : ObjectId("5cbd6461de8cc557214c0e00")
   },
   {
      "_id" : ObjectId("5cbd6467de8cc557214c0e01")
   },
   {
      "_id" : ObjectId("5cbd646cde8cc557214c0e02")
   },
   {
      "_id" : ObjectId("5cbd6470de8cc557214c0e03")
   }
]

更新日期: 30-7-2019

2K+ 瀏覽

開啟你的職業

完成課程獲得認證

開始
廣告