【问题标题】:Problem with the set() function from GeoFirestoreGeoFirestore 中的 set() 函数存在问题
【发布时间】:2019-01-30 17:00:07
【问题描述】:

我想使用set(...)函数,但是Firebase-Log说这个函数不可用。

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;
    });           

【问题讨论】:

    标签: node.js firebase geofirestore


    【解决方案1】:

    所以看起来你一直在用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.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多