我正在使用 play2 和 reactivemongo 从 mongodb 获取结果。结果的每一项都需要转换以添加一些元数据。之后我需要对其进行一些排序。
为了处理我使用的转换步骤enumerate()
:
def ideasEnumerator = collection.find(query)
.options(QueryOpts(skipN = page))
.sort(Json.obj(sortField -> -1))
.cursor[Idea]
.enumerate()
然后我创建一个Iteratee,如下所示:
val processIdeas: Iteratee[Idea, Unit] =
Iteratee.foreach[Idea] { idea =>
resolveCrossLinks(idea) flatMap { idea =>
addMetaInfo(idea.copy(history = None))
}
}
最后我喂Iteratee:
ideasEnumerator(processIdeas)
现在我被困住了。我看到的每个示例都println
在里面做一些foreach
事情,但似乎并不关心最终结果。
因此,当所有文档都返回并转换后,我如何获得序列、列表或其他可以进一步处理的数据类型?