Перехват метеорной коллекции: получить контекст операции $set над полем в массиве

У меня есть коллекция, которая содержит массив объектов; Схема выглядит следующим образом:

Boards.attachSchema(new SimpleSchema({
  [...]
  'members.$.userId': {
    type: String,
  },
  'members.$.isActive': {
    type: Boolean,
  },
  [...]

Теперь у меня есть ловушка коллекции after.update, которая корректно срабатывает, если на одном из участников форума происходит обновление.

Как получить член (или userId участника), для которого происходит обновление (если, как в моем случае, для члена изменяется только isActive? Модификатор в этом случае выглядит следующим образом:

{"$set":{"members.1.isActive":true,"modifiedAt":"2017-07-27T15:40:19.733Z"}}

Нужно ли разделять имя поля, чтобы найти участника?

Как я могу даже обнаружить эту ситуацию ("член был активирован")?

1 ответ

По словам Альдида, this.docId должен быть доступен на сервере.

Вам также может пригодиться пакет https://github.com/matb33/meteor-collection-hooks. По сути, это позволяет создавать триггеры базы данных.

Другие вопросы по тегам