【发布时间】:2015-08-16 00:11:59
【问题描述】:
我有一个包含以下字段的 mongodb 集合:
-
_id -
name(字符串) -
[items](字符串数组) -
secret(布尔值)
我只想发布所有 _id、name 字段和 item 数组长度(不包括 secret 字段),其中 secret 字段为 true。
我在某处读到可以在我的查找查询中添加其他文档属性,但我的 google foo 不起作用。
这是我的发布方法的样子没有额外的items_count 属性:
Meteor.publish("all_items", function() {
return myItems.find(
{secret: true},
{fields:
{_id:1,name:1}
});
});
如何从我的出版物中的 [item] 长度创建一个附加字段?
编辑:看来我需要使用aggregate 函数和$projectoperator。并且它不受流星的支持。
谁能向我确认这一点(即这是唯一的选择,不支持)?
【问题讨论】:
-
“这是唯一的选择 [...] ?” 不,您可以使用 map-reduce。 Meteor 支持吗?
-
我仍然不清楚高级功能 map reduce。我需要首先学习减少,我没有正确理解它。同时,我会尝试@n9code提供的解决方案