我的代码是:
Checkin.distinct field, conditions, (err, checkinResults) ->
doStuff()
但是,checkinResults
只是一系列ObjectId
。我需要完整的文件。有什么想法吗?
答案 0 :(得分:1)
distinct
方法只返回选定的字段,而不是整个文档,因此您需要两个(或更多)查询:
getCheckinsByX = (field, cb) ->
Checkin.find({ field }).limit(x).exec (err, checkins) ->
cb err, { field, checkins }
Checkin.distinct field, conditions, (err, results) ->
async.map results, getCheckinsByX, (err, checkinsByField) ->
# use list of checkins
这可能会生成大量的数据库查询,因此您可能需要查看aggregation framework,或者在客户端上进行单Checkin
个查询+分组的方法。