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

ซ่อน _id ใน MongoDB Aggregation

ใช้ $project กำหนด _id: 0

ใน stage $project กำหนด _id: 0 เพื่อไม่รวม _id ในผลลัพธ์ และระบุฟิลด์ที่ต้องการด้วย 1

ไวยากรณ์

db.yourCollectionName.aggregate([
    {$project: {
        _id: 0,
        yourIncludeFieldName: 1,
        anotherField: 1
    }}
]).pretty();

ตัวอย่าง

สร้างคอลเลกชัน hideidDemo:

> db.hideidDemo.insertOne({"UserName":"Larry","UserAge":23,"UserCountryName":"US"});
> db.hideidDemo.insertOne({"UserName":"Chris","UserAge":21,"UserCountryName":"AUS"});
> db.hideidDemo.insertOne({"UserName":"Robert","UserAge":26,"UserCountryName":"UK"});

Aggregation ซ่อน _id แสดงแค่ UserName และ UserCountryName

> db.hideidDemo.aggregate([
    {$project: {
        _id: 0,
        UserName: 1,
        UserCountryName: 1
    }}
]).pretty();

ผลลัพธ์:

{ "UserName" : "Larry", "UserCountryName" : "US" }
{ "UserName" : "Chris", "UserCountryName" : "AUS" }
{ "UserName" : "Robert", "UserCountryName" : "UK" }

เทคนิคนี้ใช้กันบ่อยเมื่อส่งข้อมูลไป frontend ไม่ต้องการ _id