如何将单个值作为数组返回?

时间:2014-07-17 14:47:54

标签: mongodb grails

我有一个通过mongo映射的域类:

class VoteTuple {

  long userId

  long statementId
}

我需要查询mongo集合

VoteTuple.find( [ userId:userId ], [ statementId:1, _id:0, userId:0 ] )

返回包含唯一字段statementId的文档。如何project此查询,以便它返回long s?

的数组

2 个答案:

答案 0 :(得分:0)

您可以直接使用 findOne 。您必须在域类上使用动态集合属性。见下面的例子:

VoteTuple.collection.findOne( [ userId:userId ], [ statementId:1, _id:0, userId:0 ] )

答案 1 :(得分:0)

找到了实现这一目标的方法:

def arrayOfLongs = VoteTuple.collection.distinct( 'statementId', [ userId:userId ] )