我在grails mongodb上有这样的代码
//myDomain
class Plugin {
List<String> projects = []
//projects has name and description
}
//myController
def query = null
if (params.q != null)
{
def q = '%'+ params.q +'%'
query = Plugin.where {
(projects.name =~ q || projects.name ==~ q)
}
}
//return null
为什么我找不到projects.name?
的插件答案 0 :(得分:0)
从属性定义
List<String> projects = []
项目的元素是字符串,这就是为什么你不能查询GORM不知道的projects.name
。
在上一个评论中,项目实例"projects": { "0": { "description": "123", "name": "cms" }, "1": { "description": "cms", "name": "codebucks" } }
中的值看起来像一个Map,其中项目编号是键,包含名称和描述的内部地图是值,而不是List。 / p>
为了达到您的目的,您需要修改域类定义以确保模型和数据之间的一致性。