我有以下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})
发布并找到它