我有这个代码
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const firestore = admin.firestore();
exports.processGzipCSVMonthly = functions.runWith({ timeoutSeconds: 540 }).https.onRequest(async (req, res) => {
try {
//...
//data is content of a CSV file
//...
const collectionRef = firestore.collection('Adresses');
let batch = firestore.batch();
data.forEach((entry) => {
const codeInsee = entry['code_insee'];
const nomVoie = entry['nom_voie'];
const numero = entry['numero'];
const lon = parseFloat(entry['lon']);
const lat = parseFloat(entry['lat']);
// Génération d'un ID de document aléatoire
const docId = firestore.collection('Temp').doc().id;
// Créer un objet GeoPoint avec les valeurs de lat et lon
const geoPoint = new admin.firestore.GeoPoint(lat, lon);
// Enregistrement du de la rue et de ses adresse dans le document sous la collection Adresses
batch.set(collectionRef.doc(docId), { numero, geoPoint, codeInsee, nom_voie: nomVoie });
});
await batch.commit();
res.status(200).send('Traitement terminé avec succès.');
} catch (error) {
console.error('Erreur lors du traitement du fichier :', error);
res.status(500).send('Une erreur est survenue lors du traitement.');
}
});
执行时,使用经度和纬度值创建 geoPoint 变量时出现错误
const geoPoint = new admin.firestore.GeoPoint(lat, lon);
错误表明 Geopoint 不是构造函数。
TypeError:admin.firestore.GeoPoint 不是构造函数
我使用 SDK 12.0(最新)。所有医生都说这个方法没问题。我觉得有一点我没看到...
你知道为什么吗?你能帮助我吗?
找到了,Geopoint 是 google-cloud 的一部分
const gcloud = require('@google-cloud/firestore');
const geoPoint = new gcloud.GeoPoint(lat, lon);
感谢您的帮助