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っぽい方法はありますか?