Mongodb meteor collection挂钩:获取数组中字段上$set操作的上下文

Mongodb meteor collection挂钩:获取数组中字段上$set操作的上下文,mongodb,meteor,meteor-collection-hooks,Mongodb,Meteor,Meteor Collection Hooks,我有一个包含对象数组的集合;架构如下所示: Boards.attachSchema(new SimpleSchema({ [...] 'members.$.userId': { type: String, }, 'members.$.isActive': { type: Boolean, }, [...] 现在我有了一个收集钩子after.update,如果更新发生在董事会的一个成员上,它将正确地触发 在我的例子中,如果只为成员更改了isActive,我

我有一个包含对象数组的集合;架构如下所示:

Boards.attachSchema(new SimpleSchema({
  [...]
  'members.$.userId': {
    type: String,
  },
  'members.$.isActive': {
    type: Boolean,
  },
  [...]
现在我有了一个收集钩子after.update,如果更新发生在董事会的一个成员上,它将正确地触发

在我的例子中,如果只为成员更改了isActive,我将如何获取成员或更新发生的成员的userId?在这种情况下,修改器如下所示:

{"$set":{"members.1.isActive":true,"modifiedAt":"2017-07-27T15:40:19.733Z"}}
我是否必须拆分字段名才能找到成员

如果成员已激活,我如何检测这种情况?

,服务器上应该有此.docId


您可能还会发现该软件包很有用。它本质上允许您创建数据库触发器。

我不知道是否还有其他收集挂钩包,但是提到的after.update收集挂钩就是matb33:meteor收集挂钩包的挂钩。啊,我明白了,我误解了这个问题,我以为您试图在模式代码本身中获取memberId,例如在autoValue中。在after.update中,文档本身作为第二个参数可用。您应该能够查看doc.members.1.userId。在模式的自动值代码中,这样做会更容易。