GeoFirestore中的设置功能出现问题

时间:2019-01-30 17:00:07

标签: node.js firebase geofirestore

我成功实现了FireFire的GeoFirestore。

现在我要使用set函数,但是Firebase-Log说此功能不可用?

我尝试了set函数,但是没有用。 我也尝试过setLocation-function,但是也没有用

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 :(得分:0)

因此,您似乎已经在使用geofirestore第2版的语法来编写一些代码,但是我们现在使用的是v3,因此外观应该更像firestore,所以这对你意味着什么?

首先,set不是可用于集合的功能,但是可用于文档,因此您需要这样做:

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)。 I've included a link to the relevant docs