我们在客户端上需要的信息是在文档上计算的。例如,数组中的条目数。
更实际上,我们有一个文档 Workshop ,它包含一系列参与者(用户的_id)。现在我们想要 Workshop.numberOfParticipants()。
无需将整个阵列传输到客户端,那么在何处计算此值?是否可以将此值作为与其他数据类似的字段添加到文档“Workshop”中?
我喜欢规避Template.workshop.numberOfParticipants()的生成。
答案 0 :(得分:2)
未来的一个选择是MongoDB名称奇怪的aggregation framework。针对aggregate
API编写的查询可以返回包含计算字段的文档。
Meteor核心尚不支持聚合查询,但它在愿望清单上。
答案 1 :(得分:1)
您需要发布一组名为NumParticipants的文档,然后添加一个观察者,在添加文档时更新count
属性或类似内容(同样在删除文档时减少该属性)。
documentation for publish中描述了如何执行此操作的示例。