gpt4 book ai didi

firebase - 如何在 Firebase Cloud-Functions 中正确实现 GeoFirestore?

转载 作者:行者123 更新时间:2023-12-03 06:30:41 25 4
gpt4 key购买 nike

我尝试将 GeoFirestore 实现到我的 Firebase Cloud-Functions 中。

当我尝试部署代码时,会发生此错误“TypeError:GeoFire 不是构造函数”。

我使用index.js 文件来实现我的功能。

我尝试在我的函数中实现 GeoFire 引用,但这也无济于事......

我尝试了一切,但无法解决这个问题。我希望你们能帮助我:)

PS:我将本篇博文的 Firebase DatabaseURL 更改为 XXXXXXX。

我在网络和堆栈溢出中搜索了答案,但没有一个答案解决了我的问题。

我的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 - 如何在 Firebase Cloud-Functions 中正确实现 GeoFirestore?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54377836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com