Проблема с set-функцией из GeoFirestore - PullRequest
0 голосов
/ 30 января 2019

Я успешно внедрил GeoFirestore for Firebase.

Теперь я хочу использовать функцию set, но Firebase-Log говорит, что эта функция недоступна?

Я попробовал set-функционировать, но это не сработало.Я также попробовал функцию setLocation, но она также не работала

Журнал Firebase-Cloud-Function:

"TypeError: GeoPostLocations.set не является функцией в database.collection.doc.collection.doc.set.then.result "

const functions = require('firebase-functions');
const functions = require('firebase-functions');
var admin = require('firebase-admin');
var serviceAccount = require('./serviceAccountKey.json');

var GeoFirestore = require('geofirestore').GeoFirestore;
const database = admin.firestore();
const geofirestore = new GeoFirestore(database);
const GeoPostLocations = geofirestore.collection('PostLocations');

В моей функции я выполняю следующий код:

return GeoPostLocations.set("DummyIDForTest", [50.312312312, 5.4302434234]]).then(result => {
        console.log(result);
        return 0;
    }).catch(error => {
        console.log(error);
        return 1;
    });           

1 Ответ

0 голосов
/ 30 января 2019

Похоже, что вы работали с небольшим количеством кода в синтаксисе версии 2 geofirestore, но сейчас мы работаем над версией 3 и все должно выглядеть как firestore, так что это значит?для вас?

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

return GeoPostLocations.doc('DummyIDForTest').set({
    coordinates: new firebase.firestore.GeoPoint(50.312312312, 5.4302434234)
}).then(result => {
    console.log(result);
    return 0;
}).catch(error => {
    console.log(error);
    return 1;
});

Обратите внимание, что у вас естьустановить объект, а не координаты в массиве (это не geofire). Я включил ссылку на соответствующие документы .

...