一尘不染

计算流星中帖子的数字评论

node.js

如果要计算帖子获得的评论数,则每次创建或删除新评论时,都必须保存评论数。

确保在每次创建或删除评论时更新评论数量的最有效,最安全的方法是什么?我已经尝试过,Curser.observe()但似乎有时会引起一些问题。我仔细阅读了我的代码,这应该没问题,但有时会发生一些更改,而在某些情况下不应该进行更改,因此,当同时创建多个对象时,observ()会引起一些问题。

我看了看,meteor-collection- hooks他们不使用observe。我认为observe这是最好的选择,因为它是本地的。别人如何解决呢?


阅读 197

收藏
2020-07-07

共1个答案

一尘不染

不要使用观察。它消耗资源并且不会扩展到一台服务器(在N台服务器正在观察更改的情况下,您将有N增量)。我可以推荐两个可能的选择:

钩子

如您所建议,您可以使用收集钩来修改计数。具体来说,您可能想在集合上使用after.insertafter.removeComments。钩子不需要额外的资源-它们只是修补底层的收集代码以运行您的回调。

推荐阅读:看流星收集挂钩

方法

如果你使用的方法插入和删除您的意见,您也可以修改您的评论数在同一时间。这具有不需要外部包装的优点,但是这也需要在您的方法中混合一些注意事项。

2020-07-07