我想延迟调用更新数据库一两分钟,所以如果用户想要进行编辑,她可以。类似于堆栈Overflow中的注释,您可以在一段时间后进行编辑。
我确实在submit事件中更新了Template.CurrentData,但它没有被动反应。当用户刷新时,它会消失。
Template.currentData().comments.push({ text : event.target.textValue.value})
我不允许客户端更新数据库。
可能会更新minimongo并禁止以某种方式更新到DB ???然后用Meteor.timeOut调用更新数据库的服务器方法??
答案 0 :(得分:1)
XY问题在这里。您要做的是保存提交日期,并在尝试更新时进行检查。以下是使用allow
挂钩的示例。
// initial insert
Comments.insert({
content: 'Sono un gatto moretto.',
createdAt: new Date()
});
Comments.allow({
update: function (userId, document, fields, modifier) {
const twoMinutes = moment(document.createdAt).add(2, 'minutes');
if (moment().isAfter(twoMinutes)) {
return false; // reject if it's after two minutes.
}
// I'm sure you'll want to do other checks here
}
});