我有以下Mongo收藏品:

{
 id: '123456',
 name: 'GameXYZ',
 reviews: [
   {createdBy: 'Bob', score: 5}, {createdBy: 'John', score: 8}
 ]
}

我想创建一个发布函数,该函数仅返回由Bob创建的评论:
{
  reviews: [
   {createdBy: 'Bob', score: 5}
  ]
}

我已经试过了:
return myCollection.find({'reviews.createdBy': 'Bob'}, {'reviews.$': 1});

问题是 meteor 返回了整个文档。根据他们的文档,“$和$ elemMatch之类的字段运算符在客户端尚不可用。”
我的功能正在服务器上运行,所以我不知道为什么它不起作用。 在Mongo Shell上执行

我的问题是:有人可以推荐一种仅在Meteor中发布数组的单个对象的方法吗?

最佳答案

最好像discover meteor中的注释示例一样完成此操作。创建新的集合reviews。您可以在其中放入任何您需要的内容,但它必须具有所审查内容的ID。这样,您可以使用reviews.find({reviewsId: the id of the collection; in this case 123456})发布并找到它

10-08 08:10