我有一个类似于以下示例的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"
}
答案 0 :(得分:0)
当您尝试将2个或更多相关集合加入单个被动订阅时,您只使用publish-composite。您只需要为您的收藏集标准发布/订阅 - 并且您说您有工作代码,所以我不知道您的问题是什么!或者,除了周围的其他数据之外,您是否正在尝试获取图书数据?