Несколько операций И ​​в запросе mongoDB с использованием критериев - PullRequest
0 голосов
/ 23 мая 2019

Привет. Я хочу добавить несколько запросов и запросов в критерии, которые выполняются в цикле for. Я разместил код ниже

private fun generateDynamicQuery(segment: Segment, currentTime: Date): Query {

    val dynamicQuery = Query()
    var criteria = Criteria()

    for (segmentValue in segment.value) {

        when (segmentValue.type) {
            SegmentType.PAGE_URL.type -> criteria = criteria.andOperator(Criteria.where("url").`is`(segmentValue.value))
            SegmentType.DEVICE.type -> criteria = criteria.andOperator(Criteria.where("device").`is`(segmentValue.value))
            SegmentType.BROWSER.type -> criteria = criteria.andOperator(Criteria.where("browser").`is`(segmentValue.value))
            SegmentType.OPERATING_SYSTEM.type -> criteria = criteria.andOperator(Criteria.where("operatingSystem").`is`(segmentValue.value))
            SegmentType.LANGUAGE.type -> criteria = criteria.andOperator(Criteria.where("language").`is`(segmentValue.value))
            else -> return Query()
        }
    }

    criteria.andOperator(Criteria.where("createdAt").gte(segment.lastExecutedTime).lt(currentTime))

    return dynamicQuery.addCriteria(criteria)
}

Возвращает следующую ошибку

Method threw 'org.springframework.data.mongodb.InvalidMongoDbApiUsageException' exception. Cannot evaluate org.springframework.data.mongodb.core.query.Query.toString()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...