简单的 Firebase 快递请求不起作用



我遵循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 KEYn-----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);
});

谢谢!

为了使用获取的值,需要使用.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);
});

最新更新