如何根据Minimongo中的参数从文档返回子文档?

时间:2015-04-20 06:26:46

标签: meteor minimongo

简短的问题

有没有办法过滤文件客户端?

长问题

因此,我在当前的Meteor JS项目中拥有用户帐户,用于存储子文档,例如电子邮件和漫画。

_id: "jGZgBRqPRGFakcQRS",
comics:[
    {_id: "z4fq6QWKfQiX4G5gb",
    appearanceName: "Paradigm's Los",
    coverart: "sampleurl",
    heroName: "deadpool",
    publisher: "marvel"
    volNo: "-1"},
    {_id: "kvQLtT5nMdqhsxBRp",
    appearanceName: "Test",
    coverart: "sampleurl2",
    heroName: "deadpool",
    publisher: "marvel",
    volNo: "1"}],
emails: [{address: "email@email.com",
    verified: false}],
username: "test"

我还有一个名为" Volumes"的不同集合,它在点击时将_id,appearanceName,coverArt,heroName,publisher和volNo传递给漫画数组。我目前有一个{{#each}}显示来自Volume的文档。我想在客户端显示某个链接,如果某个漫画存在于"漫画"数组AND如果漫画数组中项目的_id与Volumes _id匹配,如果它不满足这两个要求,则匹配不同的链接。由于聚合不起作用,我完全陷入困境。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我没有找到如何过滤子文档中的数据的简单方法,所以我总是创建单独的集合。然后,您需要加入集合,您可以在本文中阅读如何执行此操作:http://www.meteor.hromnik.com/blog/joins-in-meteorjs-and-mongodb

如果您只想在子文档中找到数据,可以这样做:

Meteor.users.findOne({
  'comics._id': yourComicsId
});

它会找到给定漫画ID的用户文档。