[英]How to publish a mongodb array length as an additional collection field?
我有一个mongodb集合,其中包含以下字段:
_id
name
(字符串) [items]
(字符串数组) secret
(布尔值) 我只想发布所有_id,名称字段和项目数组长度(不包括秘密字段),其中秘密字段为true。
我读过某处可以在查找查询中添加其他文档属性的信息,但我的google foo无法正常工作。
没有其他items_count
属性的情况下 ,我的发布方法如下items_count
:
Meteor.publish("all_items", function() {
return myItems.find(
{secret: true},
{fields:
{_id:1,name:1}
});
});
如何从出版物的[item]
长度创建附加字段?
编辑 :似乎我需要使用aggregate
函数和$project
运算符。 流星不支持它。
谁能向我确认这一点(即这是唯一的选择,并且不受支持)?
您可以向Meteor
添加aggregation framework
支持 ,然后使用具有$project
阶段的简单聚合管道,如下所述:
myItems.aggregate(
[
{$match: {secret: true}},
{$project: {_id: 1, name: 1, items_count: {$size: '$items'}}}
]
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.