我所知道的:mongod正在运行,数据库存在,集合存在,我可以使用mongodb控制台进行插入,并且通过Grails建立与mongod实例的连接(即我可以查询等等)。 / p>
其他细节:Grails 2.01,mongodb插件1.0.0 RC4,hibernate插件2.01,mongodb 2.0.3
class Node {
static mapWith = "mongo"
static constraints = {
}
ObjectId id
Integer someId //someId can be null or just non-existent
String name
}
什么行不通:即使我明确地将flush设置为true,我也无法通过GORM插入任何数据。
def n = com.company.project.Node(name: "test")
n.save(flush:true)
我也在Grails控制台中试过这个,但是没有错误消息。有什么我做错了吗?
答案 0 :(得分:2)
我是Grails的新手,所以其他人可能会或可能不会纠正我。无论如何,问题是Mongodb GORM插件默认情况下不允许您在Mongodb域类中指定的任何字段的空值。
截至目前,我不确定如何覆盖此行为,但如果我弄明白的话,我会更新此内容。
答案 1 :(得分:1)
您是否尝试过将您的属性设为可空?像这样:
static constraints =
{
someId nullable: true
}
答案 2 :(得分:0)
在保存之前执行validate()方法并查看结果,很可能存在一些您可能不知道的约束错误。