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

จะป้องกัน MongoDB ไม่ให้ส่งคืน ID อ็อบเจ็กต์ขณะค้นหาเอกสารได้อย่างไร


เพื่อป้องกันไม่ให้ MongoDB ส่งคืน Object ID ขณะค้นหาเอกสาร คุณต้องตั้งค่า _idto 0 ก่อน ให้เราสร้างคอลเลกชันที่มีเอกสาร

> db.preventObjectIdDemo.insertOne(
...    {
...
...       "StudentName" : "Chris",
...       "StudentDetails" : [
...          {
...             "StudentTotalScore" : 540,
...             "StudentCountryName" : "US"
...          },
...          {
...             "StudentTotalScore" : 489,
...             "StudentCountryName" : "UK"
...          }
...       ]
...    }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5ca20a9c66324ffac2a7dc63")
}

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find()

> db.preventObjectIdDemo.find().pretty();

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

{
   "_id" : ObjectId("5ca20a9c66324ffac2a7dc63"),
   "StudentName" : "Chris",
   "StudentDetails" : [
      {
         "StudentTotalScore" : 540,
         "StudentCountryName" : "US"
      },
      {
         "StudentTotalScore" : 489,
         "StudentCountryName" : "UK"
      }
   ]
}

ต่อไปนี้เป็นแบบสอบถามเพื่อป้องกันไม่ให้ MongoDB ส่งคืน Object ID เมื่อค้นหาเอกสาร

> db.preventObjectIdDemo.find({ _id: ObjectId("5ca20a9c66324ffac2a7dc63")},
{StudentDetails: { $slice: [0, 1] } ,'_id': 0} ).pretty();

ต่อไปนี้เป็นผลลัพธ์ที่มองไม่เห็น ObjectID

{
   "StudentName" : "Chris",
   "StudentDetails" : [
      {
         "StudentTotalScore" : 540,
         "StudentCountryName" : "US"
      }
   ]
}