在更改时自动更新mongoDB文档中的lastModified属性 - Meteor

时间:2015-01-06 19:59:28

标签: mongodb meteor

我的lastModified集合中有games个属性。目前,我必须在每次更改(当前时间戳)上手动更新lastModified属性。

当文档的其他属性发生变化时,是否可以自动更新此属性?

我使用Meteor 1.0。

修改

示例文件:

{ "controllerId" : "ACycCfrQuTtuMwjuJ", "body" : "ABC", "userId" : "5iE4P8HPoRCSHe6k8", "lastModified" : ISODate("2015-01-06T15:48:49.346Z"), "_id" : "CQbL49FP9rZkSF7yh" }

更改属性body时,它应该是这样的:

{ "controllerId" : "ACycCfrQuTtuMwjuJ", "body" : "XYZ", "userId" : "5iE4P8HPoRCSHe6k8", "lastModified" : ISODate("2015-01-06T19:41:19.888Z"), "_id" : "CQbL49FP9rZkSF7yh" }
当其中一个属性发生变化时,

lastModified会自动更新。

1 个答案:

答案 0 :(得分:2)

正如here所述,您可以滥用deny机制为您执行此操作:

Games.deny({update: function(userId, doc) {
  doc.lastModified = new Date();
  return false;
}})

或者您可以使用collection hooks。您的确切用例是before.update的示例。