Hibernate 如何对GORM子文档字段进行独特的查询?
给定Grails 2.3.8和Mongo 2.6.0,以及这个(简化的)域类:Hibernate 如何对GORM子文档字段进行独特的查询?,hibernate,grails,gorm-mongodb,Hibernate,Grails,Gorm Mongodb,给定Grails 2.3.8和Mongo 2.6.0,以及这个(简化的)域类: db.account.findOne() { "name":"Test Account", "customer": { "state": "CA" } } 其中每个帐户都有一个带有“状态”字符串的客户子文档。要获得所有客户的所有州列表,我想做如下操作: def states = Account.createCriteria().list { projections{
db.account.findOne()
{
"name":"Test Account",
"customer": {
"state": "CA"
}
}
其中每个帐户都有一个带有“状态”字符串的客户子文档。要获得所有客户的所有州列表,我想做如下操作:
def states = Account.createCriteria().list {
projections{
distinct("customer.state")
}
}
但由于存在一个bug,它无法工作-
有解决办法吗
我可以这样做:
Account.collection.distinct(“customer.state”)
但是有没有更符合Grails标准的方法呢?您可以使用“Criteria.DISTINCT\u ROOT\u ENTITY”作为DISTINCT记录
def users = Account..withCriteria {
resultTransformer Criteria.DISTINCT_ROOT_ENTITY
}