Mongo的elemMatch与meteor发布复合

时间:2015-05-13 12:52:30

标签: meteor mongodb-query meteorite

我有一个类似于以下示例的Mongo集合,我使用meteor-publish-composite,https://atmospherejs.com/reywood/publish-composite将文档发布到客户端。我知道使用Mongo我可以执行以下操作来返回authors数组中的特定项。

db.books.find({"authors.authorSlug": "author-1}, {authors: {$elemMatch: { authorSlug: "author-1"}});

当我尝试使用meteor-publish-composite实现相同的功能时,这似乎不起作用,因为它返回整个作者的数组,我的代码如下所示。

Books.find({"authors.authorSlug": slug}, {authors: {$elemMatch:{authorSlug: slug}}});

这是否可以通过发布复合实现?

{
    "title" : "Book1",
    "authors" : [
        {
            "name" : "Author 1",
            "authorSlug": "author-1"
        },
        {
            "name" : "Author 2",
            "slug" : "author-2"
        },
    ],
    "slug" : "book1"
}

1 个答案:

答案 0 :(得分:0)

当您尝试将2个或更多相关集合加入单个被动订阅时,您只使用publish-composite。您只需要为您的收藏集标准发布/订阅 - 并且您说您有工作代码,所以我不知道您的问题是什么!或者,除了周围的其他数据之外,您是否正在尝试获取图书数据?