我使用UMFAQ(发音为 um-fack )成功实现了“创建”时间戳,但我无法使“更新”时间戳工作( UMFAQ暗示但未提供代码示例。
这是我的代码:
Posts.deny({
insert: function (userId, doc) {
doc.created = new Date(); // timestamp
return false;
},
update: function (userId, doc, fieldNames, modifier) {
doc.updated = new Date(); // timestamp
return false;
}
})
当我通过Chrome控制台将对象插入集合时,我会得到一个“已创建”的时间戳。但是,当我更新该记录时(使用$ set),我没有得到“更新”字段。
答案 0 :(得分:4)
您需要更改modifier
以获取更新:
Posts.deny({
....
update: function (userId, doc, fieldNames, modifier) {
if(modifier.$set) {
modifier.$set.updated = new Date();
}
return false;
}
});
检查$set
是否存在,以防止客户端在不使用$set
的情况下发送更新时出现错误。