【发布时间】:2022-01-06 06:59:06
【问题描述】:
我正在为牙医创建一个数据库。周二,秘书会向所有预约下周的患者发送提醒。
我在 SQL 中使用的查询是:
SELECT P.Name
, P.Tel_No
, A.Appointment_Time
, A.Appointment_Date
FROM Patient AS P
INNER JOIN Booking AS B ON P.Patient_ID = B.Patient_ID
INNER JOIN Appointment AS A ON B.Appointment_ID = A.Appointment_ID
WHERE A.Reminder_Sent = 0
AND A.Appointment_Date BETWEEN
ADDDATE(DAY, 6, CURDATE()) AND ADDDATE(DAY, 9, CURDATE());
我想遵循与最后两行相同的逻辑。所以周二加 6 天是下周一,周二加 9 天是下周五。如果约会在这两个日期之间,则会发送提醒。
如何将此逻辑扩展到 MongoDB?
我想它会是这样的:
"Appointment Time" : $range{
{$dateAdd:{currentdate(),unit:day,amount:6},
{$dateAdd:{currentdate(),unit:day,amount:9}}
或者类似的东西。任何帮助将不胜感激!
【问题讨论】:
-
此类查询称为“日期范围查询”。 MongoDB手册中有这样的同名示例
标签: mongodb mongodb-query nosql nosql-aggregation