我在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