如何对 GORM 子文档字段进行不同的查询?
Posted
技术标签:
【中文标题】如何对 GORM 子文档字段进行不同的查询?【英文标题】:How do you make a distinct query on GORM subdocument fields? 【发布时间】: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 的方式来做到这一点?
【问题讨论】:
【参考方案1】:您可以将“Criteria.DISTINCT_ROOT_ENTITY”用于 DISTINCT 记录。
def users = Account..withCriteria
resultTransformer Criteria.DISTINCT_ROOT_ENTITY
【讨论】:
以上是关于如何对 GORM 子文档字段进行不同的查询?的主要内容,如果未能解决你的问题,请参考以下文章
我可以对索引子文档字段执行 MongoDB“开始于”查询吗?