Запуск Firebase onUpdate на корневом узле вместо глубокого пути

#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 и попробовал еще раз (не уверен, имеет ли это какое-либо значение) и все еще сталкиваюсь с проблемой. Позвольте мне зарегистрировать его там.