我非常擅长grails。我正在运行的情况下,我需要从mongodb集合中找到不同的记录。我尝试了一些例子,但没有成功
以下代码为我提供了集合中的所有记录。但是我只需要使用“userName”作为不同的标准
的不同记录def eventMyOrders = EventMyOrders.findAllByEventId( eventID,[sort: 'endEventDateTime', order: 'desc'])
向我提供“EventMyOrders”系列的所有订单。
如何使用distinct(或Group By)查找带有查询的不同“userName”的记录。任何帮助将不胜感激。提前致谢
答案 0 :(得分:1)
如果您只想要一个不同用户名列表,则可以使用条件查询:
def criteria = EventMyOrders.createCriteria()
def eventsWithDistinctUserName = criteria.list {
projections {
distinct("username")
}
}
其中"username"
是EventMyOrders中用户名的属性名称。
如果你想要一个具有不同用户名的EventMyOrders列表,你可以使用HQL查询:
EventMyOrders.executeQuery("select distinct username from EventMyOrders")
或者只是从Groovy方式的结果中筛选出不唯一的记录:
EventMyOrders.list().unique {a,b -> a.username <=> b.username}