Фильтр по дате с данными Spring MongoTemplate - PullRequest
0 голосов
/ 10 марта 2020

Я бы хотел отфильтровать массив моего filedA по датам, при этом запрос mon go выглядит следующим образом:

    {
        $project: {
            user: "$$ROOT",
            fieldA: {
                $filter: {
                    input: "$fieldA",
                    as: "a",
                    cond: {
                        $and: [
                            {$lt: ["$$a.constraint", new Date()]}, 
                            {$gt: ["$$a.constraint", new Date()]}
                        ]
                    }
                }
            }
           }
     }, 

Запрос работает, но у меня возникают проблемы, когда я пытался сделать это с помощью Spring :

project()
    .and("$$ROOT").as("user")
    .and(
        filter("$fieldA")
            .as("a")
            .by(
                and(       
                    ComparisonOperators.Lte.valueOf("a.constraint")
                        .lessThanEqualTo(dateEnd),                                              
                    ComparisonOperators.Gte.valueOf("a.constraint")
                        .greaterThanEqualTo(dateStart)
                )
            )).as("fieldA"),

Я думаю, что это неправильный способ сравнения дат, но я не знаю, как это сделать правильно. Может помочь мне понять, что я делаю не так?

...