我正在使用流星.我想知道在DOM更新之前是否有一种简便的方法来进行批量更新.
例如,我想更新一些记录,不止一个(All all):
Collection.update(id1,{..})
Collection.update(id2,{..})
Collection.update(id3,{..})
Run Code Online (Sandbox Code Playgroud)
问题是有3个项目单独更新.因此,当我的案例中的DOM被重新绘制3次而不是一次(所有3个更新的记录).
有没有办法推迟ui更新,直到所有更新?
deb*_*lis 23
Mongo的更新可以一次修改多个文档.只需给它一个匹配多个文档的选择器,然后设置multi
选项.在您的情况下,这只是一个ID列表,但您可以使用任何选择器.
Collection.update({_id: {$in: [id1, id2, id3]}}, {...}, {multi:true});
Run Code Online (Sandbox Code Playgroud)
这将运行单个数据库更新和单个重绘.
Tam*_*man -1
相反,在服务器上执行它们,这样它们可能会同步完成,从而不太可能在客户端上导致多次 DOM 更新。
请参阅前两个和最后一个有趣的代码位,它们解释了如何保护客户端免受数据库干扰,以及如何在服务器上定义方法并从客户端调用它们。