例如我想更新一些记录,多个(一次性全部):
Collection.update(id1,{..})
Collection.update(id2,{..})
Collection.update(id3,{..})
问题是有3个项目是单独更新的。因此,当我的案例中的DOM被重新绘制3次而不是一次(所有3个更新的记录)。
有没有办法推迟ui更新,直到所有这些更新?
答案 0 :(得分:23)
Mongo的更新可以一次修改多个文档。只需给它一个匹配多个文档的选择器,然后设置multi
选项。在您的情况下,这只是一个ID列表,但您可以使用任何选择器。
Collection.update({_id: {$in: [id1, id2, id3]}}, {...}, {multi:true});
这将运行单个数据库更新和单个重绘。
答案 1 :(得分:-1)
在服务器上执行它们,这样他们可能同步完成,这样他们就不太可能在客户端上导致多个DOM更新。
请参阅first two and last interesting code bits,其中介绍了如何保护客户免受数据库的干扰,以及如何在服务器上定义方法并从客户端调用它们。