我正在使用带有投影的Criteria来获取我的帐户域中的标签列表.像这样:
def tags = Account.createCriteria().list {
projections { property("tags") }
}
Run Code Online (Sandbox Code Playgroud)
我的帐户域名:
class Account {
static mapWith = "mongo"
List<Tag> tags
...
static embedded = ['tags']
}
Run Code Online (Sandbox Code Playgroud)
BuildConfig.groovy
// using grails 2.3.8
plugins {
runtime ":hibernate:3.6.10.17"
compile ":mongodb:2.0.1"
Run Code Online (Sandbox Code Playgroud)
这一直有效,直到我将Grails的MongoDB GORM插件从2.0.1升级到3.0.1
compile ":mongodb:3.0.1"
Run Code Online (Sandbox Code Playgroud)
现在我看到以下错误......
The class [java.util.List] is not a known persistent type.
at org.grails.datastore.mapping.core.AbstractSession.retrieveAll(AbstractSession.java:723)
at org.grails.datastore.mapping.mongo.query.MongoQuery$AggregatedResultList.initializeFully(MongoQuery.java:1601)
at org.grails.datastore.mapping.mongo.query.MongoQuery$AggregatedResultList.size(MongoQuery.java:1764)
Run Code Online (Sandbox Code Playgroud)
为什么以前工作但现在失败了?我不想重写所有现有的查询来使用mongoDB的聚合框架.
在MongoDB 2.0.6中,当试图存储包含字符串字段的文档或查询文档时,字符串的值包含BMP之外的字符,我会收到大量错误,例如:"不正确的UTF-16:55357",或者"缓冲太小"
允许在Mongo中存储和查询多语言字符串的设置,更改或建议是什么,特别是那些包含这些字符超过0xFFFF的字符串?
谢谢.