MongoDB 中 `SELECT field AS `anothername` 的等效功能?
在 MySQL 中,我们可以为列指定别名。同样,也可以为 MongoDB 中的字段名称指定别名。MongoDB 的等效语法如下
db.yourCollectionName.aggregate( [ { "$project": { "_id": 0, "anyAliasName": "$yourFieldName" }} ]);
我们先创建一个包含文档的集合
> db.selectFieldAsAnotherNameDemo.insertOne({"Name":"Larry"}); { "acknowledged" : true, "insertedId" : ObjectId("5c9d448827b86948e204ca91") } > db.selectFieldAsAnotherNameDemo.insertOne({"Name":"Robert"}); { "acknowledged" : true, "insertedId" : ObjectId("5c9d449027b86948e204ca92") } > db.selectFieldAsAnotherNameDemo.insertOne({"Name":"Sam"}); { "acknowledged" : true, "insertedId" : ObjectId("5c9d449527b86948e204ca93") } > db.selectFieldAsAnotherNameDemo.insertOne({"Name":"Mike"}); { "acknowledged" : true, "insertedId" : ObjectId("5c9d449927b86948e204ca94") }
以下是使用 find() 方法从集合中显示所有文档的查询
> db.selectFieldAsAnotherNameDemo.find().pretty();
这将产生以下输出
{ "_id" : ObjectId("5c9d448827b86948e204ca91"), "Name" : "Larry" } { "_id" : ObjectId("5c9d449027b86948e204ca92"), "Name" : "Robert" } { "_id" : ObjectId("5c9d449527b86948e204ca93"), "Name" : "Sam" } { "_id" : ObjectId("5c9d449927b86948e204ca94"), "Name" : "Mike" }
以下是 MongoDB 中与 `SELECT field AS `anothername` ` 等效的查询
> db.selectFieldAsAnotherNameDemo.aggregate( ... [ ... { "$project": { ... "_id": 0, ... "StudentName": "$Name" ... }} ... ]);
这将产生以下输出
{ "StudentName" : "Larry" } { "StudentName" : "Robert" } { "StudentName" : "Sam" } { "StudentName" : "Mike" }
广告