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

collection.find() จะคืนค่าทุกฟิลด์ด้วย MongoDB หรือไม่


คุณสามารถส่งคืนฟิลด์เฉพาะจาก collection.find() โดยใช้ไวยากรณ์ต่อไปนี้

กรณีที่ 1 − ไวยากรณ์มีดังนี้ −

db.yourCollectionName.find({},{"yourFieldName":1}).pretty();

ชื่อฟิลด์ด้านบนถูกตั้งค่าเป็น 1 หมายความว่าจะส่งคืนเฉพาะฟิลด์นั้น หากคุณตั้งค่าเป็น 0 จะคืนค่าฟิลด์ทั้งหมดยกเว้นฟิลด์ที่ตั้งค่าเป็น 0

กรณีที่ 2 − ไวยากรณ์มีดังนี้ −

db.yourCollectionName.find({},{"yourFieldName":0}).pretty();

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างคอลเลกชันพร้อมเอกสาร แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้ -

> db.returnFieldInFindDemo.insertOne({"StudentName":"John","StudentAge":23,"TechnicalSubject":["MongoDB","MySQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ebfe72f684a30fbdfd566")
}
> db.returnFieldInFindDemo.insertOne({"StudentName":"Mike","StudentAge":24,"TechnicalSubject":["Java","Python"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ebffd2f684a30fbdfd567")
}
> db.returnFieldInFindDemo.insertOne({"StudentName":"Sam","StudentAge":22,"TechnicalSubject":["C","C++"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ec00f2f684a30fbdfd568")
}
> db.returnFieldInFindDemo.insertOne({"StudentName":"Carol","StudentAge":20,"TechnicalSubject":["DataStructure","Algorithm"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ec0292f684a30fbdfd569")
}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังนี้ −

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

ต่อไปนี้เป็นผลลัพธ์ -

{
   "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"),
   "StudentName" : "John",
   "StudentAge" : 23,
   "TechnicalSubject" : [
      "MongoDB",
      "MySQL"
   ]
}
{
   "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"),
   "StudentName" : "Mike",
   "StudentAge" : 24,
   "TechnicalSubject" : [
      "Java",
      "Python"
   ]
}
{
   "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"),
   "StudentName" : "Sam",
   "StudentAge" : 22,
   "TechnicalSubject" : [
      "C",
      "C++"
   ]
}
{
   "_id" : ObjectId("5c8ec0292f684a30fbdfd569"),
   "StudentName" : "Carol",
   "StudentAge" : 20,
   "TechnicalSubject" : [
      "DataStructure",
      "Algorithm"
   ]
}

กรณีที่ 1 − นี่คือแบบสอบถามที่คุณจะส่งคืนฟิลด์เฉพาะ

แบบสอบถามมีดังนี้ −

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

ผลลัพธ์:

{
   "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"),
   "StudentName" : "John",
   "StudentAge" : 23,
   "TechnicalSubject" : [
      "MongoDB",
      "MySQL"
   ]
}
{
   "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"),
   "StudentName" : "Mike",
   "StudentAge" : 24,
   "TechnicalSubject" : [
      "Java",
      "Python"
   ]
}
{
   "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"),
   "StudentName" : "Sam",
   "StudentAge" : 22,
   "TechnicalSubject" : [
      "C",
      "C++"
   ]
}
{
   "_id" : ObjectId("5c8ec0292f684a30fbdfd569"),
   "StudentName" : "Carol",
   "StudentAge" : 20,
   "TechnicalSubject" : [
      "DataStructure",
      "Algorithm"
   ]
}

ดูตัวอย่างผลลัพธ์ด้านบน ฉันได้เริ่มต้นฟิลด์ “TechnicalSubject” เป็น 1 ซึ่งหมายความว่าจะส่งคืนเฉพาะฟิลด์ “TechnicalSubject” จากเอกสารทั้งหมด

กรณีที่ 2 − ในกรณีที่สอง หากคุณตั้งค่าฟิลด์ “TechnicalSubject” เป็น 0 หมายความว่าคุณจะได้รับฟิลด์ทั้งหมดยกเว้น “TechnicalSubject”

แบบสอบถามมีดังนี้ −

> db.retunFieldInFindDemo.find({},{"TechnicalSubject":0}).pretty();

ต่อไปนี้เป็นผลลัพธ์:

{
   "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"),
   "StudentName" : "John",
   "StudentAge" : 23
}
{
   "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"),
   "StudentName" : "Mike",
   "StudentAge" : 24
}
{
   "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"),
   "StudentName" : "Sam",
   "StudentAge" : 22
}
{
   "_id" : ObjectId("5c8ec0292f684a30fbdfd569"),
   "StudentName" : "Carol",
   "StudentAge" : 20
}

กรณีที่ 3 − อย่างที่คุณทราบ หากคุณใช้เพียงเพื่อ find() มันจะคืนค่าฟิลด์ทั้งหมด

แบบสอบถามมีดังนี้ −

> db.retunFieldInFindDemo.find();

ต่อไปนี้เป็นผลลัพธ์:

{ "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"), "StudentName" : "John", "StudentAge" : 23, "TechnicalSubject" : [ "MongoDB", "MySQL" ] }
{ "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"), "StudentName" : "Mike", "StudentAge" : 24, "TechnicalSubject" : [ "Java", "Python" ] }
{ "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"), "StudentName" : "Sam", "StudentAge" : 22, "TechnicalSubject" : [ "C", "C++" ] }
{ "_id" : ObjectId("5c8ec0292f684a30fbdfd569"), "StudentName" : "Carol", "StudentAge" : 20, "TechnicalSubject" : [ "DataStructure", "Algorithm" ] }