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

Automatically update lastModified attribute in mongoDB document on change - Meteor

我的 games collection 中有一个 lastModified 属性。目前我必须在每次更改时手动更新 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 应在其他属性之一更改时自动更新。

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

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

或者您可以使用 collection hooks. Your exact use case is the example for before.update