คุณสามารถเลือกฟิลด์เดียวใน MongoDB โดยใช้ไวยากรณ์ต่อไปนี้:
db.yourCollectionName.find({"yourFieldName":yourValue},{"yourSingleFieldName":1,_id:0}); ในไวยากรณ์ด้านบน "yourSingleFieldName":1, _id:0 หมายถึงรับข้อมูลทั้งหมดจากฟิลด์เดียวโดยไม่มี _id .
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างคอลเลกชันพร้อมเอกสาร แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้:
> db.singleFieldDemo.insertOne({"StudentName":"David","StudentAge":28});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c6eba356fd07954a489067c")
}
> db.singleFieldDemo.insertOne({"StudentName":"Bob","StudentAge":18});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c6eba406fd07954a489067d")
}
> db.singleFieldDemo.insertOne({"StudentName":"Chris","StudentAge":24});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c6eba4c6fd07954a489067e")
}
> db.singleFieldDemo.insertOne({"StudentName":"Robert","StudentAge":26});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c6eba586fd07954a489067f")
} ตอนนี้คุณสามารถแสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังนี้:
> db.singleFieldDemo.find().pretty();
ต่อไปนี้เป็นผลลัพธ์:
{
"_id" : ObjectId("5c6eba356fd07954a489067c"),
"StudentName" : "David",
"StudentAge" : 28
}
{
"_id" : ObjectId("5c6eba406fd07954a489067d"),
"StudentName" : "Bob",
"StudentAge" : 18
}
{
"_id" : ObjectId("5c6eba4c6fd07954a489067e"),
"StudentName" : "Chris",
"StudentAge" : 24
}
{
"_id" : ObjectId("5c6eba586fd07954a489067f"),
"StudentName" : "Robert",
"StudentAge" : 26
} นี่คือแบบสอบถามเพื่อเลือกฟิลด์เดียว:
> db.singleFieldDemo.find({"StudentAge":18},{"StudentName":1,"_id":0}); ต่อไปนี้เป็นผลลัพธ์:
{ "StudentName" : "Bob" }