我按照node.js指南设置了一个firebase应用程序。这是我的app.js
文件中的代码。所有信息都是正确的,但我没有从快照键中获取值。实际上,storesRef.once()
从不打印"测试"。没有错误被抛出,所以我不确定我哪里出错了。
// init firebase
firebase.initializeApp({
serviceAccount: {
projectId: "wrapper",
clientEmail: "wrapper@wrapper.iam.gserviceaccount.com",
privateKey: "-----BEGIN PRIVATE KEY-----\nMY KEY\n-----END PRIVATE KEY-----\n"
},
databaseURL: "https://wrapper.firebaseio.com"
});
// test get
var db = firebase.database();
var storesRef = firebase.database().ref('Stores/');
storesRef.once('value', function(snapshot) {
console.log(snapshot.key);
console.log("test");
},function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
谢谢!
答案 0 :(得分:0)
为了使用获取的值,需要使用.val()方法提取它们。
来自firebase文档:
firebase.database.DataSnapshot
DataSnapshot包含来自数据库位置的数据。
每次从数据库中读取数据时,都会以DataSnapshot的形式接收数据。 DataSnapshot传递给您在on()或once()上附加的事件回调。您可以通过调用val()方法将快照的内容提取为JavaScript对象。或者,您可以通过调用child()来返回子快照(然后可以调用val())来遍历快照。
storesRef.once('value', function(snapshot) {
console.log(snapshot.val().key); // change this
console.log("test");
},function (errorObject) {
console.log("The read failed: " + errorObject.code);
});