javascript - 如何使用 Node js 从 firebase 数据库以 JSON 格式检索所需的 JSON 对象

标签 javascript json node.js firebase-realtime-database

我是 Node js 和 firebase 的新手。 我正在尝试根据某些搜索条件获取存储在我的 firebase 数据库中的 JSON 数据。

在以下示例中:

See this Image

变量childname是我们必须搜索其值(col1)的键,findvalue是该键的值(col1的值是)

为此我尝试了以下代码:

function searchKeyValue(headNode,childname,findvalue) {
  var ref = firebase.database().ref("data/"+headnode);
  ref.orderByKey().on("child_added", function(snapshot) {
    //extracting Query
    ref.orderByChild(childname).equalTo(findvalue).on("value",function (snapshot) {
      console.log(snapshot.val());
    });//end of Query
  });//end oder by key
}// end of function 
<小时/>
function searchKeyValue(headnode,childname,findvalue) {
  var ref = firebase.database().ref("data");
  nextref=ref.child(headnode);
  nextref.orderByChild(childname).equalTo(findvalue).on("value",function (snapshot) {
    console.log(JSON.stringify(snapshot.val()));
  })
}

但两者都无法为我提供所需的输出: 期望的输出是:

{1:"152",2:"233.69",3:"-191.7",4:"133.69",5:"-199.769",6:"AMUKH",7:"4",{"port":4},8:"NTP",9:{"Dup":12345}]}

但是得到:

{"-KOZ2Md3NZ_vWddAIBj3":[null,"152","233.69","-191.7","133.69","-199.769","AMUKH","4",{"port":4},"NTP",{"Dup":12345}]}

[注意:我错过了已保存数据的所有键,我只能获取该键的值...]

最佳答案

当您对 Firebase 数据库执行查询时,可能会出现多个结果。因此快照包含这些结果的列表。即使只有一个结果,快照也会包含一个结果的列表。

我不知道你的第一个片段应该做什么。但第二个片段可以使用:

function searchKeyValue(headnode,childname,findvalue) {
  var ref = firebase.database().ref("data");
  nextref=ref.child(headnode);
  nextref.orderByChild(childname).equalTo(findvalue).on("value",function (snapshot) {
    snapshot.forEach(function(childSnapshot) {
      console.log(JSON.stringify(childSnapshot.val()));
    });
  })
}

或者,您可以监听 child_added,它会单独为每个子项触发:

function searchKeyValue(headnode,childname,findvalue) {
  var ref = firebase.database().ref("data");
  nextref=ref.child(headnode);
  nextref.orderByChild(childname).equalTo(findvalue).on("child_added",function (childSnapshot) {
    console.log(JSON.stringify(childSnapshot.val()));
  })
}

关于javascript - 如何使用 Node js 从 firebase 数据库以 JSON 格式检索所需的 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38816519/

相关文章:

javascript - 预期行尾等,但发现未知标记。- AppleScript 编辑器

javascript - 使用命令清除控制台

Android/Retrofit HAL JSON 支持

Python 通过 POST 发送一个 JSON 数组

javascript - Express Route Handler 不会针对文件类型路径触发

javascript - yeoman webapp 中的 Babel

javascript - Google map api 绘制带有编码点的折线

javascript - 将 json 数据转换为 javascript 数组

node.js - 如何从另一个在 express `res` 中调用的函数返回 `router` ?

javascript - 将 Node 应用程序传输到服务器