Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongo';s elemMatch与meteor publish合成_Meteor_Mongodb Query_Meteorite - Fatal编程技术网

Mongo';s elemMatch与meteor publish合成

Mongo';s elemMatch与meteor publish合成,meteor,mongodb-query,meteorite,Meteor,Mongodb Query,Meteorite,我有一个Mongo集合,看起来与下面的示例类似,我使用meteor publish composite将文档发布到客户端。我知道使用Mongo,我可以执行以下操作来返回authors数组中的特定项 db.books.find({"authors.authorSlug": "author-1}, {authors: {$elemMatch: { authorSlug: "author-1"}}); 当我尝试使用meteor publish composite实现相同的功能时,这似乎不起作用,因为

我有一个Mongo集合,看起来与下面的示例类似,我使用meteor 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}}})

这甚至可以通过publish composite实现吗

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

只有在尝试将2个或多个相关集合加入到单个被动订阅中时,才能使用publish composite。你只需要一个标准的发布/订阅你的收藏,你说你有工作代码,所以我不知道你的问题是什么!或者,你是在试图获取你的书籍数据,以及周围的其他数据吗