Плагин Grails MongoDB: значения в шаблоне ключа индекса v: 2 не могут иметь тип bool - PullRequest
0 голосов
/ 03 июля 2019

У меня есть приложение Grails 3.3.2 с GORM 6.1.8, и я использую плагин mongodDB grails 6.1.4.

При попытке подключиться к экземпляру 3.4 MongoDB приложение при запуске выдает ошибку:

Причина: com.mongodb.MongoCommandException: команда завершилась неудачно с ошибка 67: «Значения в шаблоне ключа индекса v: 2 не могут иметь тип bool. Допускаются только числа> 0, числа <0 и строки. ' на сервере локальный: 27017. Полный ответ: {"ok": 0.0, "errmsg": "Values в v: 2 шаблон ключа индекса не может иметь тип bool. Только цифры> 0, числа <0, допускаются строки. "," code ": 67," codeName ": "CannotCreateIndex"} </p>

Используя отладчик, я смог найти домен, создание индекса которого не удалось:

class MyClass{
    Long field1
    String field2
    Long index

    static mapWith = "mongo"

    static mapping = {
        database "databasename"
    }

    static constraints = {
        field1 nullable: true
        field2 nullable: true
    }
}

Он встроен в другой домен.

Что не так с этим классом домена? Я также попытался подключиться к экземпляру MonogoDB 3.6 и 4.0 с той же ошибкой.

1 Ответ

0 голосов
/ 03 июля 2019

Опытным путем выяснил, что длинный атрибут «index» класса домена вызывает ошибку. Удаление атрибута из домена устраняет проблему.

...