【问题标题】:How do you make a distinct query on GORM subdocument fields?如何对 GORM 子文档字段进行不同的查询?
【发布时间】:2014-10-11 22:17:21
【问题描述】:

给定 Grails 2.3.8 和 Mongo 2.6.0,以及这个(简化的)域类:

db.account.findOne()
{
    "name":"Test Account",
    "customer": {
        "state": "CA"
    }
}

每个帐户都有一个带有“状态”字符串的客户子文档。要获得所有客户的所有州的列表,我会考虑做这样的事情:

def states = Account.createCriteria().list {
    projections{
        distinct("customer.state")
    }
}

但由于存在错误,它不起作用 - https://jira.grails.org/browse/GPMONGODB-397

有解决方法吗?

我可以这样做: Account.collection.distinct("customer.state") 但是有没有更 Grails 的方式来做到这一点?

【问题讨论】:

    标签: hibernate grails gorm-mongodb


    【解决方案1】:

    您可以将“Criteria.DISTINCT_ROOT_ENTITY”用于 DISTINCT 记录。

    def users = Account..withCriteria {
            resultTransformer Criteria.DISTINCT_ROOT_ENTITY
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-25
      • 2020-12-02
      • 1970-01-01
      • 2016-07-25
      • 2021-04-07
      • 2016-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多