如何从FIrebase Realtime数据库中获得一个孩子,而不是整个列表

时间:2018-08-16 20:43:38

标签: android firebase firebase-realtime-database

我正在为我的应用实现Firebase实时数据库。 该数据库包含许多条目,这些条目将在未来继续增长。 我只想从数据库中检索特定的孩子,但是我找不到任何实现的方法。 在Firebase中,实现也从数据库检索所有条目。 将来这会很麻烦。 有什么方法可以只检索特定条目或仅检索一个条目(取决于定制)?

请帮助。

@ALex Mamo: This is the database image

3 个答案:

答案 0 :(得分:0)

也许您指的是浅层查询,它仅读取第一个孩子?在这种情况下,您可能需要查看此处提到的API实现:

Firebase (2016) Shallow Query

答案 1 :(得分:0)

有两种不同的获取方式。您必须将“消息”更改为数据库的名称。将PostTitle替换为您要接收的特定数据。

var rootRef = firebase.database().ref().child("messages");

rootRef.on("child_added", snap=> {

  var postTitle = snap.child("PostTitle").val();

exports.sendPushNotification = functions.database.ref('/messages/{id}').onWrite((change, context) => {

    const afterData = change.after.val();
    const postTitle = afterData.PostTitle;

答案 2 :(得分:0)

如果要检索少量记录,这可能会有所帮助。按照附加的图像结构。

您可以重组数据,并使用键为0,1,2 .....的set方法代替“ LK34h ....”-> 0。 使用set方法并存储最新的索引值。

您这样检索

firebase.database().ref().child('users_Post/0').on('value',sn=>{ console.log(sn.val())//use sn.val() })