Перехват метеорной коллекции: получить контекст операции $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. По сути, это позволяет создавать триггеры базы данных.