我想知道如何发布一个过滤了嵌套文档的集合。
假设我有一个包含许多嵌套post文档的category文档。
{
name: 'myCategory',
order: 2,
posts: [
{
hidden: true
},
{
hidden: false
},
{
hidden: true
},
...
]
}如何发布此文档,其中仅包含hidden设置为false的posts
我已经尝试过了,但没有成功:Categories.find({'posts.hidden': false}),不知道从哪里开始。有什么建议吗?
发布于 2015-06-26 09:01:30
没有好的方法可以做到这一点。您可以使用以下方法对集合进行抽象:
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})https://stackoverflow.com/questions/31062889
复制相似问题