我有一个带有 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 和字符串。在服务器 localhost:27017 上。完整的响应是 { "ok" : 0.0, "errmsg" : "v:2 索引键模式中的值不能是 bool 类型。只允许数字 > 0、数字 < 0 和字符串。", "code" : 67、“代号”:“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 实例,但出现同样的错误。