MongoDB查询:如何将日期字段添加到日期字段,然后再将其与给定日期进行比较

时间:2014-11-23 20:07:01

标签: mongodb scala mongodb-query reactivemongo

以下代码段检索在给定日期之前已修改的所有用户:

val date = DateTime(...).getMillis

users.find(
  Json.obj("lastUpdate" -> Json.obj("$lt" -> Json.obj("$date" -> date))),
  None, None, page, perPage
)

如何检索从lastUpdate开始的一段时间内修改过的所有用户?换句话说,我需要在lastUpdate添加几天并将其与给定日期进行比较:

users.find(
  Json.obj("lastUpdate" -> /* how do I add N days to lastUpdate before comparing it with date? */
    Json.obj("$lt" -> Json.obj("$date" -> date))
  ),
  None, None, page, perPage
)

1 个答案:

答案 0 :(得分:0)

你做不到。 MongoDB中的简单查询不能使用它查询的文档中的值。您只能在整个查询中使用不变的值。

有效查询:

{
    FirstName : "bar"
}

无效查询:

{
    FirstName : LastName
}

然而,您可以通过其他方式实现这一点,例如MongoDB的聚合框架