ใช้ $redact กรองตามช่วงเวลา
ตัวดำเนินการ $redact ใช้กรองเอกสารตามเงื่อนไขซับซ้อน เช่น ช่วงเวลาของชั่วโมงใน ISODate
> db.demo178.insertOne({"DueDate": new ISODate("2019-01-10T06:18:20.474Z")});
คำสั่งดึงเอกสารที่ชั่วโมงอยู่ระหว่าง 6-9 น.:
db.demo178.aggregate([ { "$redact": { "$cond": { "if": { "$and": [ { "$gt": [{ "$hour": "$DueDate" }, 5] }, { "$lt": [{ "$hour": "$DueDate" }, 9] } ] }, "then": "$$KEEP", "else": "$$PRUNE" } } } ])
ผลลัพธ์คืนเอกสารที่ DueDate อยู่ในช่วง 06:00-08:59