Grails MongoDB插件:v:2索引键模式中的值不能为bool

时间:2019-07-03 08:48:12

标签: mongodb grails gorm-mongodb

我有一个带有GORM 6.1.8的Grails 3.3.2应用程序,并且正在使用mongodDB grails插件6.1.4。

尝试连接到3.4 MongoDB实例时,应用程序在启动时会出错:

  

原因:com.mongodb.MongoCommandException:命令失败,显示以下内容:   错误67:“ v:2索引键模式中的值不能为bool类型。   仅允许数字> 0,数字<0和字符串。在服务器上   本地主机:27017。完整的响应为{“ ok”:0.0,“ errmsg”:“值   在v:2中,索引键模式不能为bool类型。只有数字> 0,   数字<0,并且允许使用字符串。“,” code“:67,” codeName“:   “ CannotCreateIndex”}

使用调试器,我可以找到其索引创建失败的域:

class MyClass{
    Long field1
    String field2
    Long index

    static mapWith = "mongo"

    static mapping = {
        database "databasename"
    }

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

它已嵌入另一个域中。

此域类有什么问题?我还尝试连接到3.6和4.0 MonogoDB实例,但出现相同的错误。

1 个答案:

答案 0 :(得分:0)

凭经验发现域类的Long'index'属性导致错误。从域中删除属性可以解决此问题。