为此,请使用$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 }