Grails MongoDB 插件:v:2 索引键模式中的值不能是 bool 类型
Grails MongoDB plugin: Values in v:2 index key pattern cannot be of type bool
我有一个带有 GORM 6.1.8 的 Grails 3.3.2 应用程序,我正在使用 mongodDB grails 插件 6.1.4。
尝试连接到 3.4 MongoDB 实例时,应用程序在启动时出错:
Caused by: com.mongodb.MongoCommandException: Command failed with
error 67: 'Values in v:2 index key pattern cannot be of type bool.
Only numbers > 0, numbers < 0, and strings are allowed.' on server
localhost:27017. The full response is { "ok" : 0.0, "errmsg" : "Values
in v:2 index key pattern cannot be of type bool. Only numbers > 0,
numbers < 0, and strings are allowed.", "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
}
}
它嵌入了另一个域。
这个域有什么问题 class?我还尝试连接到 3.6 和 4.0 MonogoDB 实例,但出现相同的错误。
根据经验发现是域 class 的 Long 'index' 属性导致错误。从域中删除该属性可解决此问题。
我有一个带有 GORM 6.1.8 的 Grails 3.3.2 应用程序,我正在使用 mongodDB grails 插件 6.1.4。
尝试连接到 3.4 MongoDB 实例时,应用程序在启动时出错:
Caused by: com.mongodb.MongoCommandException: Command failed with error 67: 'Values in v:2 index key pattern cannot be of type bool. Only numbers > 0, numbers < 0, and strings are allowed.' on server localhost:27017. The full response is { "ok" : 0.0, "errmsg" : "Values in v:2 index key pattern cannot be of type bool. Only numbers > 0, numbers < 0, and strings are allowed.", "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
}
}
它嵌入了另一个域。
这个域有什么问题 class?我还尝试连接到 3.6 和 4.0 MonogoDB 实例,但出现相同的错误。
根据经验发现是域 class 的 Long 'index' 属性导致错误。从域中删除该属性可解决此问题。