【发布时间】:2021-11-29 11:04:15
【问题描述】:
所以我目前正在做一个项目,我必须将在 sigfox 中不断创建的数据发送到 firestore 数据库,并在自建网站中从 sigfox 读取数据。以及托管网站。到目前为止,我已经设法创建了一个云功能,允许我将数据从 sigfox 后端发送到 Firestore。但是,我在尝试从 Firestore 数据库中读取数据时遇到问题。每次我使用命令 "firebase serve --only "hosting,functions" 来检查我的代码时,它都会告诉我数据库不存在。这是我迄今为止根据 youtube 上的视频编写的代码.
const functions = require("firebase-functions");
const express = require('express');
const engines = require('consolidate');
var hbs = require('handlebars');
const admin = require('firebase-admin');
const app = express();
app.engine('hbs',engines.handlebars);
app.set('views', './views');
app.set('view engine', 'hbs');
const { service } = require("firebase-functions/v1/analytics");
const { response } = require("express");
var serviceAccount = require("./unabiz-firebase-firebase-adminsdk-ehtzo-0b37e0cf1f.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "firebase-adminsdk-ehtzo@unabiz-firebase.iam.gserviceaccount.com"
});
async function getFirestore() {
const firestore_con = await admin.firestore();
const writeResult = firestore_con.collection('device').doc("device").get().then(doc=>
{
if (doc.exists) {return doc.data();}
else {console.log("No such document!");}})
.catch(err => {console.log('Error getting document', err);})
}
app.get('/',async (request,response) => {
var db_result = await getFirestore();
response.render('index', {db_result});
})
exports.app = functions.https.onRequest(app)
这也是我的数据库中包含的数据的照片:
请注意,我使用的云功能是在单独的时间和不同的文件中创建的。我可以做些什么来解决我面临的问题?
【问题讨论】:
标签: node.js firebase google-cloud-firestore google-cloud-functions