如何在 MongoDB 中僅返回一個欄位的值?


為了僅返回 MongoDB 中的一個欄位的值,您需要編寫一個查詢並使用 forEach 迴圈。讓我們首先建立一個包含文件的集合

> db.returnOnlyValueOfFieldDemo.insertOne({"ClientName":"Larry"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9ea537d628fa4220163b6e")
}
> db.returnOnlyValueOfFieldDemo.insertOne({"ClientName":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9ea53bd628fa4220163b6f")
}
> db.returnOnlyValueOfFieldDemo.insertOne({"ClientName":"Robert"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9ea541d628fa4220163b70")
}
> db.returnOnlyValueOfFieldDemo.insertOne({"ClientName":"Ramit"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9ea549d628fa4220163b71")
}

以下是使用 find() 方法在集合中顯示所有文件的查詢

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

這將產生以下輸出

{ "_id" : ObjectId("5c9ea537d628fa4220163b6e"), "ClientName" : "Larry" }
{ "_id" : ObjectId("5c9ea53bd628fa4220163b6f"), "ClientName" : "Chris" }
{ "_id" : ObjectId("5c9ea541d628fa4220163b70"), "ClientName" : "Robert" }
{ "_id" : ObjectId("5c9ea549d628fa4220163b71"), "ClientName" : "Ramit" }

以下是僅返回 MongoDB 中一個欄位的值的查詢

> var output = []
> db.returnOnlyValueOfFieldDemo.find().forEach(function(document) {output.push(document.ClientName) })

為了獲取 MongoDB 中一個欄位的值,您需要在 Mongo shell 中編寫變數名輸出(因為我們知道該值儲存在 output 陣列中)。以下則為查詢

> output

這將產生以下輸出

[ "Larry", "Chris", "Robert", "Ramit" ]

更新於:2019 年 7 月 30 日

855 次檢視

開啟您的 職業生涯

透過完成課程進行認證

開始
廣告
© . All rights reserved.