Javascript 如何在firebase数据库中定位单个值?

Javascript 如何在firebase数据库中定位单个值?,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我很难确定如何在firebase数据库中定位单个对象。例如,我希望在单击索引卡时显示特定的单词/定义。我用它来存储数据: wordVal = $("#word").val(); defVal = $("#def").val(); data = firebase.database().ref("indexCards"); data.push( { 'word': wordVal, 'definition': defVal } ); 要检索它,请执行以下操作: data.on(

我很难确定如何在firebase数据库中定位单个对象。例如,我希望在单击索引卡时显示特定的单词/定义。我用它来存储数据:

wordVal = $("#word").val();
defVal = $("#def").val();

data = firebase.database().ref("indexCards");
data.push( { 'word': wordVal, 'definition': defVal } );         
要检索它,请执行以下操作:

data.on("child_added", function(snapshot){
    console.log(snapshot.val().word);   
    console.log(snapshot.val().definition);
});
这给了我一个完整的单词和定义列表。我想分别提到具体的词和具体的定义。文档说我可以通过这样做引用特定值-
firebase.database().ref(“child/path”)

但我的问题是…当父母是那些随机数字和字母时,我如何引用路径(见下文)?我知道这些是firebase生成的唯一ID,但我不知道如何像访问普通对象一样访问它们

{
  "-KQIOHLNsruyrrnAhqis" : {
    "definition" : "person, place, thing",
    "word" : "noun"
  },
  "-KQIOO7Wtp2d5v2VorqL" : {
    "definition" : "device for photos",
    "word" : "camera"
  },
  "-KQISp4WMnjABxQayToD" : {
    "definition" : "circus act",
    "word" : "clown"
  },
  "-KQITC9W1lapBkMyiL7n" : {
    "definition" : "device used for cutting",
    "word" : "scissors"
  }
}

您可以使用如下查询:

data = firebase.database().ref('indexCards').orderByChild('word').equalTo('noun')
这是不言自明的,我们得到了索引卡片的引用,其中关键字的值是相等的名词,所以它将返回带有关键字的object-KQHZ3xCHTQjuTvonSwj


链接到

您需要将初始推送放入对象,然后稍后调用该对象。即

要推送数据: firebase.database().ref().push({'word':wordVal,'definition':deffal})

要更新数据或稍后调用数据,请执行以下操作: firebase.database().ref(“indexCards”).set({})

或者在这种情况下:
data.set({})

您的问题中包含了JSON树的图片。请将其替换为实际的JSON作为文本,您可以通过单击Firebase数据库控制台中的导出按钮轻松获得该文本。将JSON作为文本使其具有可搜索性,允许我们轻松地使用它来测试您的实际数据,并在我们的答案中使用它,一般来说,这是一件好事。@FrankvanPuffelen没问题,我只是添加了JSON文本