Grails中的MongoDB点符号

时间:2012-03-06 08:25:32

标签: grails mongodb gorm

在MongoDB中使用createCriteria()时,我在Grails 1.3.7中使用dot notation创建查询时遇到了一些问题。我正在使用mongodb插件。

我的域类与此类似:

class Log {
    static mapWith = 'mongo'

    ObjectId id
    String name
    Map logicalIds = [:]
}

编辑,其中 logicalIds 是用户相关数据的键/值的映射,事先未知。

查询的创建方式如下:

def c = Log.createCriteria()
c.list {
    eq('name', 'John Doe')
    eq('logicalIds.text', 'some text')
}

但抛出以下异常:

  

java.lang.IllegalArgumentException:Property [logicalIds.text]不是类[...]的有效属性

是否可以修复,或者无法使用 createCriteria

答案: 我无法理解下面的答案,所以我提出了另一种解决方案。 我只使用gmongo中的 find 函数代替 createCriteria ,该函数接受点符号。

0 个答案:

没有答案