我有一个像这样的firebase树:
我想将此数据检索到JSON对象
我尝试了以下代码,但在浏览器中显示为空:
const http = require('http');
const firebase = require('firebase');
var config = {
apiKey: "AIzjhjdfkjkfkjkjkfPSFNo3Eb-e2E",
authDomain: "demoapp.firebaseapp.com",
databaseURL: "https://demoapp-54551.firebaseio.com",
projectId: "demoapp-79516",
};
var server = http.createServer((req,res)=>{
if (!firebase.apps.length) {
firebase.initializeApp(config);
}
var db = firebase.database();
var d = {}
res.statusCode = 200;
res.setHeader('Content-Type','text/plain');
var readRef = db.ref('categories');
readRef.once('value', snapshot => {
var key = snapshot.key;
d[key] = [];
d[key].push(snapshot.val());
});
res.end(JSON.stringify(d));
});
server.listen(8080);
我的结果是空对象,如下所示:
请帮我了解如何将Firebase数据转换为JSON字符串
答案 0 :(得分:2)
您似乎正在尝试在云功能中使用Firebase Web / IoT SDK:const firebase = require('firebase');
。那不行。
相反,您应该使用Firebase Admin SDK,如所有示例所示:https://firebase.google.com/docs/functions/get-started#import_the_required_modules_and_initialize
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
var db = admin.database();