我在grails + mongodb中有第一个expire。我在保存对象时遇到问题。首先,我连本地蒙戈DB以这样的方式的Grails:Grails + Mongodb =不要坚持对象。为什么?
grails {
mongo {
host = "localhost"
//port = 27107
//username = "login"
//password="pwd"
databaseName = "db"
}
}
我不知道为什么,但如果我指定端口和登录+密码(我创建这样的密码这样的用户),Grails的给我一个错误,不能连接到mongodb。这是mongodb的对守护程序开始日志: 22时47分04秒[initandlisten] MongoDB的起点:PID = 918端口= 27017 DBPATH =的/ var/lib中/ mongodb的64位主机= UBNT-VirtualBox的
好的,带出端口和登录+传递它的作品。接下来,我创建域:
class Cover {
String name
String url
static constraints = {
name(blank: false)
url(blank: false)
}
static mapping = {
collection "cover"
database "covers"
}
}
我尝试将其保存:
Cover cover = new Cover()
cover.name = title.text()
cover.url = url
println("Try to save object: ${cover.toString()}")
cover.save()
println("After save object: ${cover.toString()}")
我在输出:
Try to save object: com.mydomain.Cover : (unsaved)
After save object: com.mydomain.Cover : 23
当我运行命令 '蒙戈' 壳,然后再尝试到:
>use covers
>db.cover.find()
我看到有nothi集合中。但是,当我看着db.cover.next_id.find(),我看到23.所以它看起来像id增量。我不知道为什么对象没有保存到mongodb。为什么?在尝试连接到mongodb并通过java驱动程序保存并保存工程之前(因此mongodb似乎正确安装)。
另外,当我运行shell我看到这样的信息>连接到:测试什么意思测试?我可以在哪里配置它?可能是壳连接到一个数据库和grails到另一个?
Ou,我在配置db数据库中丢失了这方面的使用。是的,它真的可以是这样,我会检查,谢谢你的想法! – sphinks
println Cover.list()输出只是[],这是什么意思? – sphinks
这意味着它没有被保存,因为数据库中的封面列表是空的。您是否在保存或验证后尝试打印错误? – Eylen