เคอร์เซอร์เข้า MongoDB บทช่วยสอน: เรียนรู้ด้วยตัวอย่าง

⚡ สรุปอย่างชาญฉลาด

เคอร์เซอร์เข้า MongoDB เป็นตัวชี้ที่ส่งคืนโดยฟังก์ชัน db.collection.find() ไปยังชุดผลลัพธ์ของเอกสารที่ตรงกัน โดยค่าเริ่มต้นจะวนซ้ำโดยอัตโนมัติ แต่ผู้พัฒนาสามารถวนดูเอกสารทีละรายการได้โดยใช้วิธีการต่างๆ เช่น hasNext() และ next()

  • 🖱️ เคอร์เซอร์ถูกกำหนดไว้ดังนี้: ตัวชี้ไปยังเอกสารที่ส่งคืนโดย db.collection.find() ใน MongoDB.
  • 🔁 การวนซ้ำอัตโนมัติ: โดยค่าเริ่มต้น เคอร์เซอร์จะวนซ้ำโดยอัตโนมัติเมื่อได้รับผลลัพธ์จากการค้นหา
  • ???? การวนซ้ำด้วยตนเอง: วนลูปผ่านเอกสารทีละฉบับโดยใช้ hasNext() และ next() ในลูป while
  • 📄 Readable Output: ใช้ฟังก์ชัน tojson() เพื่อพิมพ์เอกสารแต่ละฉบับในรูปแบบ JSON ที่อ่านง่าย
  • 🔎 ตัวอย่างแบบสอบถาม: find({Employeeid:{$gt:2}}) จะแสดงพนักงานที่มีรหัสมากกว่า 2

เคอร์เซอร์เข้า MongoDB

เคอร์เซอร์อยู่ในอะไร MongoDB?

เมื่อราคาของ db.collection.find () ฟังก์ชันนี้ใช้เพื่อค้นหาเอกสารในคอลเลกชัน ผลลัพธ์จะส่งคืนตัวชี้ไปยังคอลเลกชันของเอกสารที่ส่งคืนซึ่งเรียกว่าเคอร์เซอร์

ตามค่าเริ่มต้น เคอร์เซอร์จะวนซ้ำโดยอัตโนมัติเมื่อมีการส่งคืนผลลัพธ์ของแบบสอบถาม แต่เราสามารถดูรายการที่ส่งคืนในเคอร์เซอร์ได้อย่างชัดเจนทีละรายการ หากคุณเห็นตัวอย่างด้านล่าง หากเรามีเอกสาร 3 ฉบับในคอลเลกชันของเรา วัตถุเคอร์เซอร์จะชี้ไปที่เอกสารแรก จากนั้นวนซ้ำเอกสารทั้งหมดของคอลเลกชัน

เคอร์เซอร์เข้า MongoDB

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีดำเนินการนี้

var myEmployee = db.Employee.find( { Employeeid : { $gt:2 }});

	while(myEmployee.hasNext())

	{

		print(tojson(myEmployee.next()));

	}

Code คำอธิบาย

  1. อันดับแรก เราใช้ชุดผลลัพธ์ของแบบสอบถามซึ่งค้นหาพนักงานที่มี id มากกว่า 2 และกำหนดให้กับ Javaต้นฉบับ ตัวแปร 'พนักงานของฉัน'
  2. ต่อไปเราใช้การวนซ้ำ while เพื่อวนซ้ำเอกสารทั้งหมดที่ส่งคืนมาเป็นส่วนหนึ่งของแบบสอบถาม
  3. สุดท้ายสำหรับเอกสารแต่ละฉบับ เราจะพิมพ์รายละเอียดของเอกสารนั้นๆ ใน JSON รูปแบบที่อ่านได้

หากดำเนินการคำสั่งสำเร็จ จะแสดงผลลัพธ์ดังต่อไปนี้

เอาท์พุต

เคอร์เซอร์เข้า MongoDB

คำถามที่พบบ่อย

คุณวนซ้ำ MongoDB ใช้เคอร์เซอร์โดยใช้วิธีการต่างๆ เช่น hasNext() และ next() ในลูป while หรือด้วย forEach() โดยค่าเริ่มต้น เชลล์จะวนซ้ำเอกสาร 20 รายการแรกโดยอัตโนมัติ

A MongoDB โปรแกรม Cursor จะแสดงเอกสารเป็นชุด ชุดแรกบรรจุได้สูงสุด 101 เอกสาร หรือ 16 MB และโปรแกรมจะแสดงผลลัพธ์ 20 รายการแรกโดยอัตโนมัติก่อนที่จะแจ้งให้ป้อนเอกสารเพิ่มเติม

ใช่ โดยค่าเริ่มต้นแล้ว MongoDB เคอร์เซอร์จะหมดเวลาหลังจากไม่มีการใช้งานบนเซิร์ฟเวอร์เป็นเวลา 10 นาที คุณสามารถปิดใช้งานฟังก์ชันนี้ได้โดยใช้ตัวเลือก noCursorTimeout สำหรับการทำงานที่ใช้เวลานาน

ผู้ช่วย AI สามารถสร้าง MongoDB ค้นหาคำค้นหา สร้างไปป์ไลน์การรวมข้อมูล อธิบายวิธีการทำงานของเคอร์เซอร์ และแปลงคำขอภาษาธรรมดาให้เป็นโค้ดเชลล์หรือโค้ดไดรเวอร์ ช่วยด้วยping นักพัฒนาสามารถเรียกดูข้อมูลได้เร็วขึ้น

ใช่แล้ว เครื่องมือ AI สามารถแนะนำดัชนี แนะนำการฉายภาพเพื่อจำกัดฟิลด์ที่ส่งคืน และแจ้งเตือนการค้นหาที่ไม่ประสิทธิภาพได้ping ลดเวลาในการประมวลผลเคอร์เซอร์และการใช้หน่วยความจำใน MongoDB การใช้งาน

สรุปโพสต์นี้ด้วย: