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" }

更新時間: 2019 年 7 月 30 日

2K+ 瀏覽

啟動你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.