#firebase #firebase-realtime-database #google-cloud-functions #firebase-cli
#firebase #firebase-realtime-database #google-cloud-функции #firebase-cli
Вопрос:
У меня есть база данных Firebase в реальном времени, и я использую облачные функции для запуска определенных действий при обновлении.
Вот моя структура данных:
....: {},
....: {},
routes: {
'-route_id_123': {
access_code: 'accessCode1234',
active: true,
on_trip: false,
parents: {
....: true
},
....: '...',
....: '...',
....: {}
}
},
....: {}
Я написал облачную функцию, которая просматривает следующий путь:
exports.someFunction = functions.database.ref('routes/{route_id}/on_trip').onUpdate((change, context) => {....}
На самом деле происходит то, что эта функция запускается в 'routes/'
корневом узле, а не только в .../on_trip
. Например, если я задаю active
значение true или false в приведенной выше структуре, функция запускается, в то время как ожидается, что эта функция будет запущена только при изменении on_trip
значения.
Я заметил, что даже если я задаю путь к /foo/bar/baz/really/deep/path
функции, кажется, что она запускается /foo/
.
Не уверен, что я здесь делаю не так.
Обратите внимание, что я тестирую с использованием эмулятора firebase как для базы данных, так и для функций.
Заранее спасибо.
Комментарии:
1. Если вы считаете, что в эмуляторе есть ошибка, отправьте сообщение о проблеме на GitHub со своими наблюдениями. github.com/firebase/firebase-tools
2. Спасибо @DougStevenson. Я полагаю, что это может быть так, поскольку это не имеет смысла. Я только что обновил свои firebase-tools и попробовал еще раз (не уверен, имеет ли это какое-либо значение) и все еще сталкиваюсь с проблемой. Позвольте мне зарегистрировать его там.