Я не могу получить данные из моей базы данных FireStore, используя Geofirestore в экспресс - PullRequest
0 голосов
/ 30 октября 2019

Я создал запрос в экспресс для извлечения моих данных, это моя экспресс-функция для конечной точки:

app.get('/locatii', (req, res) => {
    const geofirestore = new GeoFirestore(db);
    const geocollection = geofirestore.collection('locatii2');
    const query = geocollection.near({
        center: new firebase.firestore.GeoPoint(45.831922, 27.431149),
        radius: 3000
    });
    query.get().then(snap => {
        console.log(snap.docs())
        let places = [];
        snap.forEach(doc => {
            places.push(doc.data());
            console.log(doc.data())
        });
        res.json(places);
    })
        .catch(err => res.send(err));
});

ниже, это моя структура firesore: database structure Когда я получаю доступ к своей конечной точкеэто не отображается в данных консоли или в почтальоне. Я не знаю, что я пропустил. Спасибо!

1 Ответ

1 голос
/ 30 октября 2019

Кажется, в вашей структуре данных нет геохеша. Наличие геохеша в каждом документе необходимо для возможности запроса этих документов по их местоположению.

Из примера приложения , поставляемого с GeoFirestoreJS, кажется, что вы можете получитьgeohash с чем-то вроде:

location.lat = ...
location.lng = ...
const hash = geokit.Geokit.hash(location);

и затем установите его в свой документ Firestore с чем-то вроде:

documentRef.update(hash);
...