Реализация GeoFire следующим образом:
const GeoFire = require('geofire');
const geoFire = new GeoFire(admin.database().ref().child('geolocation'));
В базе данных onWrite:
const promises = [];
promises.push(geoFire.set(id, [37.79, -122.41]));
return Promise.all(promises);
В приведенном ниже коде я делаю геозапрос:
exports.nearbyjobs = functions.database.ref('/users/{userid}/account/l').onWrite(event => {
const location = event.data;
if (location.child("lat").val() === null || location.child("lng").val() === null) return;
const key = event.data.key;
const uid = event.params.userid;
const results = geoFire.query({
center: [location.child("lat").val(), location.child("lng").val()],
radius: 3000
});
});
Мой вопрос и проблема в том, как мне обрабатывать запрос results
из geofire? Мне нужно, чтобы результат запроса обновлялся в моей БД в режиме реального времени.