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

จะดึงเอกสารจากคอลเล็กชันใน MongoDB ได้อย่างไร?


ในการดึงเอกสารจากคอลเล็กชันใน MongoDB คุณต้องใช้วิธี find() ไวยากรณ์มีดังนี้:

db.yourCollectionName.find();

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

> db.retrieveAllStudents.insertOne({"StudentId":"STUD101","StudentName":"David","StudentAge":24});{ "acknowledged" :true, "insertedId" :ObjectId("5c6bf5cf68174aae23f5ef4e ")}> db.retrieveAllStudents.insertOne({"StudentId":"STUD102","StudentName":"Carol","StudentAge":22});{ "acknowledged" :true, "insertedId" :ObjectId("5c6bf5e968174aae23f5ef4f ")}> db.retrieveAllStudents.insertOne({"StudentId":"STUD103","StudentName":"Maxwell","StudentAge":25});{ "acknowledged" :true, "insertedId" :ObjectId("5c6bf5f768174aae23f5ef50 ")}> db.retrieveAllStudents.insertOne({"StudentId":"STUD104","StudentName":"Bob","StudentAge":23});{ "acknowledged" :true, "insertedId" :ObjectId("5c6bf60868174aae23f5ef51" ")}> db.retrieveAllStudents.insertOne({"StudentId":"STUD105","StudentName":"Sam","StudentAge":27});{ "acknowledged" :true, "insertedId" :ObjectId("5c6bf61b68174aae23f5ef52" ")}

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

> db.retrieveAllStudents.find();

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

{ "_id" :ObjectId("5c6bf5cf68174aae23f5ef4e"), "StudentId" :"STUD-101", "StudentName" :"David", "StudentAge" :24 }{ "_id"") :ObjectId("5c814abf5ef5e , "StudentId" :"STUD-102", "StudentName" :"Carol", "StudentAge" :22 }{ "_id" :ObjectId("5c6bf5f768174aae23f5ef50"), "StudentId" :"STUD-103", "StudentName" :"Maxwell", "StudentAge" :25 }{ "_id" :ObjectId("5c6bf60868174aae23f5ef51"), "StudentId" :"STUD-104", "StudentName" :"Bob", "StudentAge" :23 }{ "_id " :ObjectId("5c6bf61b68174aae23f5ef52"), "StudentId" :"STUD-105", "StudentName" :"Sam", "StudentAge" :27 }

สำหรับผลลัพธ์ที่จัดรูปแบบที่เหมาะสม ให้ใช้ pretty() กับ find() แบบสอบถามมีดังนี้:

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

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

<ก่อนหน้า>{ "_id" :ObjectId("5c6bf5cf68174aae23f5ef4e"), "StudentId" :"STUD-101", "StudentName" :"David", "StudentAge" :24}{ "_id"") :ObjectId("5c6bafaf5ef965 , "StudentId" :"STUD-102", "StudentName" :"Carol", "StudentAge" :22}{ "_id" :ObjectId("5c6bf5f768174aae23f5ef50"), "StudentId" :"STUD-103", "StudentName" :"Maxwell", "StudentAge" :25}{ "_id" :ObjectId("5c6bf60868174aae23f5ef51"), "StudentId" :"STUD-104", "StudentName" :"Bob", "StudentAge" :23}{ "_id " :ObjectId("5c6bf61b68174aae23f5ef52"), "StudentId" :"STUD-105", "StudentName" :"Sam", "StudentAge" :27}

ถ้าคุณต้องการเรียกเอกสารเดียวตามเงื่อนไขบางประการ คุณสามารถใช้แบบสอบถามต่อไปนี้ ที่นี่ เรากำลังเรียกเอกสารที่มี StudentName เป็น “Maxwell”:

> db.retriveAllStudents.find({"StudentName":"Maxwell"}).pretty();

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

{ "_id" :ObjectId("5c6bf5f768174aae23f5ef50"), "StudentId" :"STUD-103", "StudentName" :"Maxwell", "StudentAge" :25}