javascript - 由于 child_added 事件,firebase 从不同的 child 检索数据

标签 javascript firebase firebase-realtime-database

我的 firebase 数据库包含一个用户列表,每个用户都有一个包含他的位置和时间戳的列表。 赛跑者 |__1f9097c12fcfeac3259bd2be4a976933 |__27305d166e57b5fdf9b96142c7d28ab1 |__-L6R_u41IeEDy7rQ9udG | |__时间戳 | |__位置 |__887527fea0ebca4c416e154e7bb8c95d |__-L6_KYQravVkxXNVK6V1 | |__时间戳 | |__位置 |__-L6_KekNbzzNrLY8G-IY | |__时间戳 | |__位置

'887527fea0ebca4c416e154e7bb8c95d', '27305d166e57b5fdf9b96142c7d28ab1',.. 等是从 mysql 表中检索的用户 ID。 '-L6_KYQravVkxXNVK6V1', '-L6_KekNbzzNrLY8G-IY',.. 等是 firebase 在推送数据时生成的 key 。

我正在像这样查询 1 个特定用户的职位

firebase.database().ref().child("runner").child(key).orderByChild("timestamp").startAt(startdate).endAt(enddate).on("child_added", 函数(数据) {...})

在查询用户 1 的位置时,如果为用户 2 添加了 child ,我将获得用户 2 的位置,尽管上面查询中的 key 仍然指向用户 1。

最佳答案

要解决这个问题,然后读取一次数据:

firebase.database().ref().child("runner").child(key).orderByChild("timestamp").startAt(startdate).endAt(enddate).once('value').then(function(snapshot) {
snapshot.forEach(function(child) {
var childData = child.val();
var timestamps=child.val().timestamp;
var position=child.val().position;
   )};
)};

更多信息在这里:

https://firebase.google.com/docs/database/web/read-and-write#read_data_once

关于javascript - 由于 child_added 事件,firebase 从不同的 child 检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49110805/

相关文章:

javascript - Facebook graph api JSONP格式,第一行的/* */是什么意思?

javascript - 我试图保留 document.getElementById ("image").src=UserInput +".gif"的值

Javascript:从动态Javascript表和输入框中获取数值然后进行计算

java - firebase 数据库上的图像网址未显示正确的 http 网址 ""com.google.android.gms.tasks.zzu@123456 7""

android - 如何从 Firebase 数据库中获取随机对象?

javascript - 在 react 中渲染后将 getOffsetHeight 与异步数据结合使用

ios - Firebase 持久化,清除 Firebase 缓存

android - 将自定义对象写入 Firebase 数据库

android - 访问 firebase 回收器适配器中的子节点

Angular Firestore - 获取文档数据并分配给变量