为此,请使用$project。$project包含一个文档,该文档可以指定字段的包含,_id字段的禁止,新字段的添加以及现有字段的值的重置
首先让我们创建一个包含文档的集合-
> db.demo226.insertOne({"Name":"Chris","Age":21});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e3f9be803d395bdc2134738")
}
> db.demo226.insertOne({"Name":"Bob","Age":20});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e3f9bf003d395bdc2134739")
}
> db.demo226.insertOne({"Name":"David","Age":22});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e3f9bf803d395bdc213473a")
}
在find()
方法的帮助下显示集合中的所有文档-
> db.demo226.find();
这将产生以下输出-
{ "_id" : ObjectId("5e3f9be803d395bdc2134738"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5e3f9bf003d395bdc2134739"), "Name" : "Bob", "Age" : 20 }
{ "_id" : ObjectId("5e3f9bf803d395bdc213473a"), "Name" : "David", "Age" : 22 }
以下是查询以显示除id之外的所有值-
> db.demo226.aggregate(
... {$project:
... {
... _id: false,
..." StudentFirstName":"$Name",
... "StudentAge":"$Age"
... }
... }
...);
这将产生以下输出-
{ "StudentFirstName" : "Chris", "StudentAge" : 21 }
{ "StudentFirstName" : "Bob", "StudentAge" : 20 }
{ "StudentFirstName" : "David", "StudentAge" : 22 }