如何在 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 次查看

开启您的 职业生涯

通过完成课程进行认证

开始
广告