Spring Boot + Mongo - com.mongodb.BasicDocument, вы не можете добавить второй критерий «id» - PullRequest
0 голосов
/ 28 октября 2019

Любые идеи, почему я получаю эту ошибку при выполнении запроса:

org.springframework.data.mongodb.InvalidMongoDbApiUsageException: Due to limitations of the com.mongodb.BasicDocument, you can't add a second 'id' criteria. Query already contains '{ "id" : "123"}'

Я использую Spring Boot и Mongo:

fun subGenreNames(subGenreIds: List<String>?): List<String> {

        val results = mutableListOf<String>()

        var query = Query()

            subGenreIds!!.forEach{

                query.addCriteria(Criteria.where("id").`is`(it))

                var subGenreName = mongoTemplate.findById(it, SubGenre::class.java)

                results.add(subGenreName!!.name)
            }

        return results
    }

У меня естькласс SubGenre установлен с:

@Document(collection = "subgenres")
data class SubGenre(
    @Field("id")
    val id: String,
    val name: String
)

Спасибо

1 Ответ

1 голос
/ 28 октября 2019

Исходя из вашего кода, вам нужно использовать либо

query.addCriteria(Criteria.where("id").`is`(it))
var subGenreName = mongoTemplate.find(query, SubGenre::class.java)

, либо

var subGenreName = mongoTemplate.findById(it, SubGenre::class.java)

, но не оба.

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