Grails嵌入式查询数组

时间:2013-01-23 11:45:10

标签: mongodb grails embedded-database

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

的插件

1 个答案:

答案 0 :(得分:0)

从属性定义

List<String> projects = []

项目的元素是字符串,这就是为什么你不能查询GORM不知道的projects.name

在上一个评论中,项目实例"projects": { "0": { "description": "123", "name": "cms" }, "1": { "description": "cms", "name": "codebucks" } }中的值看起来像一个Map,其中项目编号是键,包含名称和描述的内部地图是值,而不是List。 / p>

为了达到您的目的,您需要修改域类定义以确保模型和数据之间的一致性。