我有一对多的你可能也喜欢'我的Product集合中product
个文档之间的关系。它们存储在主产品文档的ymal.product_ids
数组中。
在产品展示模板的Iron Router控制器中,我有两个订阅:一个用于产品本身,另一个用于'您可能也喜欢'产品:
@AdminProductsShowController = @AdminController.extend
waitOn: ->
Meteor.subscribe 'product', @params._id
Meteor.subscribe 'you_may_also_like_products', @params._id
...
you_may_also_like_products
的发布功能是:
Meteor.publish 'you_may_also_like_products', (style_number) ->
product = Product.first(style_number: style_number)
unless product.ymal is undefined
Product.find(
_id:
$in: product.ymal.product_ids
)
在我的模板中,我可以将新产品添加到`you_may_also_like_products'数组通过调用Meteor方法。
Meteor.call('add_ymal_product', @_id, form_data.style_number, (error, result) ->
)
到目前为止一切顺利。如果我刷新页面手动,则新产品将显示在you_may_also like集合中,因为已再次进行订阅。我的问题是,在没有刷新页面的情况下,我无法找到一种方法来获取you_may_also_like_products
订阅以返回更新的数据集。
我确定这是非常基本的Meteor东西;但是我已经阅读了类似的每个Stack Overflow问题,并观看了推荐的eventedmind.com教程。