Если вам нужно только значение URL, вы должны включить подстановочный знак в путь триггера для ключа URL:
exports.fanOutLink = functions.database.ref('/userLink/{keyId}').onWrite((change, context) => {
console.log('keyId=', context.params.keyId);
const updated = change.after.val();
console.log(updated);
return null
});
В базе данных реального времени данные моделируются как дерево JSON . Путь, указанный в триггере события, идентифицирует узел в дереве. Значение узла, являющегося JSON, включает все дочерние узлы. Параметр изменения для события запуска относится к значению всего узла.
Я указал выше, что вы можете изменить путь запуска, чтобы ссылаться на один уровень вниз. Альтернативой является доступ к дочерним элементам узла с помощью метода child () из DataSnapshot
.
Не зная вашего варианта использования, трудно быть более точным в отношении пути события триггера, который вы должны использовать. Помните, что событие возникает, когда изменяется какой-либо элемент значения узла, будь то простое значение на корневом уровне или значение дочернего узла. Часто требуется, чтобы триггер был как можно более конкретным, чтобы лучше определить, что изменилось. Вот где подстановочные знаки в пути полезны. Как я показал в коде, который я разместил, строковое значение подстановочного знака доступно из параметра context
.