如何使用grails从mongodb中查找不同的记录
我对grails非常陌生。我运行的环境需要从mongodb集合中查找不同的记录。我试过一些例子,但没有成功 下面的代码提供了集合中的所有记录。但是,我只需要使用“用户名”作为不同标准的不同记录如何使用grails从mongodb中查找不同的记录,mongodb,grails,Mongodb,Grails,我对grails非常陌生。我运行的环境需要从mongodb集合中查找不同的记录。我试过一些例子,但没有成功 下面的代码提供了集合中的所有记录。但是,我只需要使用“用户名”作为不同标准的不同记录 def eventMyOrders = EventMyOrders.findAllByEventId( eventID,[sort: 'endEventDateTime', order: 'desc']) 给我“EventMyOrders”集合中的所有订单 如何使用distinct(或Group By)
def eventMyOrders = EventMyOrders.findAllByEventId( eventID,[sort: 'endEventDateTime', order: 'desc'])
给我“EventMyOrders”集合中的所有订单
如何使用distinct(或Group By)在查询中查找具有不同“用户名”的记录。任何帮助都将不胜感激。提前感谢如果您只需要不同用户名的列表,可以使用条件查询:
def criteria = EventMyOrders.createCriteria()
def eventsWithDistinctUserName = criteria.list {
projections {
distinct("username")
}
}
其中,“username”
是EventMyOrders中username的属性名称
如果需要具有不同用户名的EventMyOrder列表,可以使用HQL查询:
EventMyOrders.executeQuery("select distinct username from EventMyOrders")
或者通过Groovy方式从结果中筛选出非唯一记录:
EventMyOrders.list().unique {a,b -> a.username <=> b.username}
EventMyOrders.list().unique{a,b->a.username b.username}
这将为我提供用户名数组,但不是整个记录。我已经试过了