Я следовал документации Grails 2.4.4, чтобы создать карту объектов, но мои объекты не сохранялись в Mongo DB. Итак, я решил провести проверку работоспособности на точно таком же примере, представленном в документации, и это тоже не сработало.
Шаги:
Тест Grails для создания приложений
Затем я включил плагин mongo в свой BuilConfig.groovy:
compile ":mongodb:3.0.3"
//runtime ":hibernate4:4.3.6.1"
Затем я настроил свой DataSource.groovy:
environments {
production {
grails {
mongo {
replicaSet = [ "xxxxxxxx"]
username = "xxxx"
password= "xxxxxxxxxxxxxx"
databaseName = "xxxxxx"
}
}
}
development {
grails {
mongo {
replicaSet = [ "xxxxxxxx"]
username = "xxxx"
password= "xxxxxxxxxxxxxx"
databaseName = "xxxxxx"
}
}
}
test {
grails {
mongo {
replicaSet = [ "xxxxxxxx"]
username = "xxxx"
password= "xxxxxxxxxxxxxx"
databaseName = "xxxxxx"
}
}
}
}
Вот мой класс домена книги:
package test
class Book {
String name
Map authors
static hasMany = [authors:Author]
static constraints = {
}
}
И вот мой класс домена Author:
package test
class Author {
String name
static constraints = {
}
}
используя консоль Grails, я запустил следующий скрипт:
import test.*
def a = new Author(name:"Stephen King")
def book = new Book(name:"test")
book.authors = ["stephen":a]
book.save(failOnError:true)
А затем я взглянул на свою базу данных Mongo и не смог найти карту, которая должна была быть сохранена.
{
"_id": 1,
"name": "test",
"version": 0
}
Я очень ценю, если у вас есть какие-либо сведения о том, что происходит, или если вы знаете какой-либо обходной путь для сохранения Map
in Grails.
Спасибо