如何以正确的方式在 Firebase Cloud-Functions 中实施 GeoFirestore?
How to implement GeoFirestore in Firebase Cloud-Functions the right way?
我尝试在我的 Firebase 云函数中实施 GeoFirestore。
当我尝试部署我的代码时出现此错误 "TypeError: GeoFire is not a constructor"。
我将 index.js 文件用于我的函数。
我试图在我的函数中实现 GeoFire 引用,但这也无济于事...
我尝试了所有方法,但无法解决此问题。
我希望你们能帮助我:)
PS.: 我将此帖子的 Firebase 数据库 URL 更改为 XXXXXXX。
我在网络和堆栈溢出中搜索了答案,但 none 个答案解决了我的问题。
我的 index.js 看起来像这样:
const functions = require('firebase-functions');
var admin = require('firebase-admin');
var serviceAccount = require('./serviceAccountKey.json');
var GeoFire = require('geofirestore');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://XXXXXXXXX.firebaseio.com"
});
admin.firestore().settings({
timestampsInSnapshots: true
});
const database = admin.firestore();
const Geo = new GeoFire(database.collection('UserLocations'));
我的 package.json 依赖项如下所示:
"dependencies": {
"firebase-admin": "~6.0.0",
"firebase-functions": "^2.1.0",
"geofirestore": "^3.1.0"
},
由于您使用的是 require
语法而不是 import
,因此您需要像这样引入个人 类...
var GeoFirestore = require('geofirestore').GeoFirestore;
此外,geofirestore 实例采用 firestore 实例。因此,您不会像在代码中那样传入集合。你想这样做:
const database = admin.firestore();
const geofirestore = new GeoFirestore(database);
const Geo = geofirestore.collection('UserLocations');
希望对您有所帮助。
我尝试在我的 Firebase 云函数中实施 GeoFirestore。
当我尝试部署我的代码时出现此错误 "TypeError: GeoFire is not a constructor"。
我将 index.js 文件用于我的函数。
我试图在我的函数中实现 GeoFire 引用,但这也无济于事...
我尝试了所有方法,但无法解决此问题。 我希望你们能帮助我:)
PS.: 我将此帖子的 Firebase 数据库 URL 更改为 XXXXXXX。
我在网络和堆栈溢出中搜索了答案,但 none 个答案解决了我的问题。
我的 index.js 看起来像这样:
const functions = require('firebase-functions');
var admin = require('firebase-admin');
var serviceAccount = require('./serviceAccountKey.json');
var GeoFire = require('geofirestore');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://XXXXXXXXX.firebaseio.com"
});
admin.firestore().settings({
timestampsInSnapshots: true
});
const database = admin.firestore();
const Geo = new GeoFire(database.collection('UserLocations'));
我的 package.json 依赖项如下所示:
"dependencies": {
"firebase-admin": "~6.0.0",
"firebase-functions": "^2.1.0",
"geofirestore": "^3.1.0"
},
由于您使用的是 require
语法而不是 import
,因此您需要像这样引入个人 类...
var GeoFirestore = require('geofirestore').GeoFirestore;
此外,geofirestore 实例采用 firestore 实例。因此,您不会像在代码中那样传入集合。你想这样做:
const database = admin.firestore();
const geofirestore = new GeoFirestore(database);
const Geo = geofirestore.collection('UserLocations');
希望对您有所帮助。