gpt4 book ai didi

grails - Grails Gorm MongoDB索引嵌入式字符串映射

转载 作者:行者123 更新时间:2023-12-02 14:46:16 24 4
gpt4 key购买 nike

我想使用rest服务制作一些可翻译的内容,所以我决定使用这种结构来创建集合。但是我无法从String Map中按值找到BSON。
类LocalizableString {

   static mapWith = "mongo"
ObjectId id
Map<String, String> values = new HashMap<String, String>();
}

然后我想变得像这样。但它的工作原理类似于联接查询。
def list = LocalizableString.createCriteria().list {
values{ like('value',"%${value}%") }
}

这是类似的普通mongo示例。但是我该如何使用gorm mongoDB http://www.mongodb.org/display/DOCS/Schema+Design#SchemaDesign-Example实现它

有什么解决办法吗?

最佳答案

class BaseService {

def findByLocalizableString(def domainClass ,def query , def field ,def params = null) {

def q = new BasicDBObject()
def queryList = []
def allowedLanguages = ConfigurationHolder.config.grails.localizableString.allowedLanguages
allowedLanguages.each { locale ->
queryList.add(new BasicDBObject("values.${locale}", new BasicDBObject('$regex', /.*${query}.*/)))
}
q.put('$or',queryList)
def lsc = LocalizableString.collection.find(q)

def list = lsc.hasNext() ? domainClass.createCriteria().list(params) {
or {
while (lsc.hasNext()) {
def n = lsc.next()
eq("${field}",n._id)
}
}
} : null
return list
}
}

关于grails - Grails Gorm MongoDB索引嵌入式字符串映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9522574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com