如何以正确的方式在Firebase云中实现GeoFirestore功能?

如何以正确的方式在Firebase云中实现GeoFirestore功能?,firebase,google-cloud-functions,geofirestore,Firebase,Google Cloud Functions,Geofirestore,我尝试在Firebase云函数中实现GeoFirestore 当我尝试部署代码时,会出现以下错误:“TypeError:GeoFire不是构造函数” 我的函数使用index.js文件 我试图在我的函数中实现GeoFire引用,但这也没有帮助 我什么都试过了,但没能解决这个问题。 我希望你们能帮我:) 注:我将我的Firebase数据库URL更改为XXXXXXX,用于此帖子 我在网上搜索了答案,但没有一个答案能解决我的问题 我的index.js如下所示: const functions = req

我尝试在Firebase云函数中实现GeoFirestore

当我尝试部署代码时,会出现以下错误:“TypeError:GeoFire不是构造函数”

我的函数使用index.js文件

我试图在我的函数中实现GeoFire引用,但这也没有帮助

我什么都试过了,但没能解决这个问题。 我希望你们能帮我:)

注:我将我的Firebase数据库URL更改为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'));
"dependencies": {
"firebase-admin": "~6.0.0",
"firebase-functions": "^2.1.0",
"geofirestore": "^3.1.0"
},
My package.json依赖项如下所示:

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'));
"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');
希望这有帮助