ตัวดำเนินการ $and
บางครั้งเราต้องการค้นหาเอกสารที่ตรงตามหลายเงื่อนไขพร้อมกัน ใน MongoDB ตัวดำเนินการ $and ถูกออกแบบมาเพื่อจุดประสงค์นี้:
{ "$and": [{ "field1": value1, "field2": value2 }] }
แต่ยังมีทางลัดด้วย: หากแต่ละเงื่อนไขใช้กับ field ที่แตกต่างกัน สามารถระบุคู่ key-value หลายคู่ใน filter เดียวได้เลย MongoDB จะนำ AND มาใช้ให้โดยอัตโนมัติ:
{ "field1": value1, "field2": value2 }
เคล็ดลับ: หากต้องการทบทวน field ทั้งหมดที่มีใน movies collection ให้รัน mov.find_one() เพื่อแสดงเอกสารแรกใน collection
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
MongoDB เบื้องต้นใน Python
คำแนะนำการฝึกหัด
- ค้นหาภาพยนตร์ทั้งหมดที่มีคะแนนน้อยกว่าหรือเท่ากับ
6.5แต่ยังคว้ารางวัล Oscar ได้ - แปลง cursor object ที่ได้เป็น list และเก็บผลลัพธ์ไว้ในตัวแปร
low_oscar
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Movies with rating < 6.5 that won oscar
low_oscar_curs = mov.find({
____,
____
})
# Convert from cursor to list
low_oscar = ____
print(f"Found {len(low_oscar)} documents:")
print(low_oscar)