Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

MongoDB เทียบเท่ากับฟิลด์ SELECT เป็น 'ชื่ออื่น' หรือไม่


ใน 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"});{ "รับทราบ":จริง "insertedId" :ObjectId("5c9d449527b86948e204ca93")}> db.selectFieldAsAnotherNameDemo.insertOne({"Name":"Mike"});{ "acknowledged" :true, "insertedId" :ObjectId("5c9d449927ca494869486948694> 

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี 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 AS `ชื่ออื่น`

> db.selectFieldAsAnotherNameDemo.aggregate(... [... { "$project":{... "_id":0,... "StudentName":"$Name"... }} .. ]);

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้

{ "StudentName" :"Larry" }{ "StudentName" :"Robert" }{ "StudentName" :"Sam" }{ "StudentName" :"Mike" }