我想知道如何发布一个过滤了嵌套文档的集合。
假设我有一个category
文档,其中包含许多嵌套的post
文档。
{
name: 'myCategory',
order: 2,
posts: [
{
hidden: true
},
{
hidden: false
},
{
hidden: true
},
...
]
}
如何发布此文档,仅包含posts
设置为hidden
的{{1}}?
我尝试过没有成功:false
,不知道从哪里开始。有什么建议吗?
答案 0 :(得分:0)
这样做没有好办法。您可以使用以下方法抽象集合:
Meteor.methods({
getCategories: function () {
Categories.find().map(function (categorie) {
categorie.posts = _.compact(_.map(categorie.posts, function (post) {
return post.hidden ? false : post
}))
return categorie
})
}
})
通过这个你可以得到一个静态数组。要获得反应,你必须付出更多的努力。您可以使用Tracker.Dependency
。
最简单的方法可能是重组文件。会有两个数组:posts
和postsHidden
。这样您就可以使用fields
选项。在您的出版物中,您可以这样做:
Categories.find({}, {fields: postsHidden: false})