Meteor服务器会导致集合更新,该更新还会更新集合的客户端副本 有没有办法在集合的客户端副本中的记录更新时调用客户端函数?感谢
//server
Meteor.users.update({
_id: Meteor.userId()
}, {
$set: {
'profile.goAhead': true
});
//client
if (Meteor.user().profile.goAhead) {
myFunc();
}
答案 0 :(得分:0)
Meteor有乐观的更新。客户端副本首先更新。然后在方便的时候,更新服务器集合。如果服务器更新存在任何问题,则会回滚或使用不同的值更新客户端副本。
在上面的代码中,服务器更新应该包含在Meteor.methods()中。从客户端调用服务器方法有一个回调方法,可以在这种情况下使用。
答案 1 :(得分:0)
let query = MyCollections.find();
query.observeChanges({
added(id,fields){
console.log("Document added with _id "+id);
},
changed(id,fields){
console.log("Document with _id "+id+" was changed");
},
// ... there are more possible callbacks
});