API критерия Spring Mongodb: проверьте два значения в одном и том же вложенном элементе - PullRequest
0 голосов
/ 13 февраля 2019

У меня следующий запрос:

Criteria crit = Criteria.where("nestedObj.date").lt(LocalDate.now())
        .and("nestedObj.active").is(true)
        .and("someId").is(null)
        .and("somethingElse").exists(false);

Как я могу убедиться, что nestedObj.active и nestedObj.date проверены на одном и том же nestedObj?

Я хочу только этогочтобы соответствовать, если у документа есть nestedObj, который является активным И имеет дату старше, чем сегодня.

Пример:

Если массив nestedObj в документе выглядит как этот, запросдолжно соответствовать:

[
    {
    "nestedObj": {
        "active": "true",
        "date": "2010-29-10"
    },
    {
    "nestedObj": {
        "active": "false",
        "date": "2010-29-10"
    },
    {
    "nestedObj": {
        "active": "true",
        "date": "2022-29-10"
    }
]

Но если это выглядит так, это не должно:

[
    {
    "nestedObj": {
        "active": "false",
        "date": "2010-29-10"
    },
    {
    "nestedObj": {
        "active": "true",
        "date": "2022-29-10"
    }
]
...