ตัวดำเนินการ $or
ต้องการสร้างรายการภาพยนตร์คุณภาพสูง โดยกำหนดเกณฑ์การคัดเลือกดังนี้: ภาพยนตร์ต้องเคยได้รับรางวัล Academy Award (หรือที่รู้จักกันในชื่อ Oscar) หรือมีคะแนนสูงกว่า 7.5 นอกจากตัวดำเนินการ $or แล้ว ยังต้องใช้ตัวดำเนินการ $gte ซึ่งย่อมาจาก greater than or equal to (มากกว่าหรือเท่ากับ)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
MongoDB เบื้องต้นใน Python
คำแนะนำการฝึกหัด
- เติมฟิลเตอร์
oscarบนฟิลด์"won_oscar"ให้สอดคล้องกับเงื่อนไขแรก - เติมฟิลเตอร์
high_ratingบนฟิลด์"rating"ให้สอดคล้องกับเงื่อนไขที่สอง โดยใช้"$gte" - นำเกณฑ์ทั้งสองมารวมกันด้วย
$orเพื่อค้นหาภาพยนตร์ที่ตรงกับเงื่อนไขข้อใดข้อหนึ่งหรือทั้งสองข้อ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create the won_oscar filter
oscar = { "____": ____ }
# Create the rating filter
high_rating = { "____": { "____": ____ }}
# Combine with $or
hq_curs = mov.find({
"____": [
____,
____
]
})
# Convert from cursor to list
hq = list(hq_curs)
print(hq)