我正在寻找一种方法来查询 mongo 以获取与变量相比匹配两个字段之间结果的文档。
例如,重叠的日期范围。我有一个具有以下架构的文档:
{startDate : someDate, endDate : otherDate, restrictions : {daysBefore : 5, daysAfter : 5}}
我的用户将提供他们自己的日期范围,例如
var userInfo = { from : Date, to : Date}
我需要满足这个条件的文件:
startDate - restrictions.daysBefore <= userInfo.to && endDate + restrictions.daysAfter >= userInfo.from;
我尝试使用$where
子句,但我失去了 and 的上下文,to
因为from
它们是在 where 函数的范围之外定义的。
我想这样做而不拉下所有结果,或者在插入时创建另一个字段。
有没有一种简单的方法可以完成这个查询?