GeoFirestore 的 set() 函数有问题
Problem with the set() function from GeoFirestore
我想使用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;
});
看来您一直在使用 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.
我想使用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;
});
看来您一直在使用 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.