javascript - 如何使用 Javascript 在 Firebase 中仅显示对应于今天日期的特定 child ?

标签 javascript database firebase date

所以我想弄清楚我应该如何构建我的数据以及如何根据从数据库接收到的日期循环访问它。

现在的结构是这样的:

https://imgur.com/a/v18FBch

“数据”包含每一天的日期(大纪元时间),并且每个日期都有一个仅包含“文本”的子项,其中实际文本作为值。最终,这些纪元时间将在一天的开始,即东部时间上午 00:01

该应用程序应该像这样工作:如果我在某个日期打开它,我只想显示日期匹配的相应子项的内容。内容在午夜更改。

到目前为止,这是我的代码:

    var query = firebase.database().ref("Datum").orderByKey();
    query.once("value").then(function(snapshot) {
         snapshot.forEach(function(childSnapshot) {

            // childData will be the actual contents of the child
            var childData = childSnapshot.val();
            var text_val = childSnapshot.val().Text;

            $("#dagett").append(text_val);

            //test
            console.log("got the data!", childData);
         });
  });

现在代码从两个 child 那里获取内容并将其附加到一个字符串中。虽然不是我真正想要的。我只想显示正确的 child 的内容。

现在我遇到的问题是我不确定如何遍历每个 child 并只显示哪个 child 有“正确”的日期。我知道 startAt() 和 endAt() 但到目前为止我找到的唯一解决方案是创建也包含纪元时间的 js 变量,但这并不能真正解决我的问题,因为我要去有一百个日期,每个日期都包含文本和/或图像。我不想用确切的时间定义特定的 js 变量,然后使用这些函数进行查询。一定有更好的方法。

奖励:我还希望能够包含某些日期的图像,我不确定我是否可以将另一个 child 添加到该特定日期,然后以某种方式使用它或将查询与存储结合起来?

请记住,这不是商业应用程序,只有其他人会使用它。因此它不需要快速执行或任何其他操作。

我希望这个问题足够清楚。

最佳答案

Eventually these epoch times would be at the very start of a day at 00:01AM f.e.

所以如果我们当时计算今天的时间戳,它会与数据库中的时间戳完全匹配:

 const today = new Date();
 today.setMinutes(1);
 today.setHours(0);
 today.setSeconds(0);
 today.setMilliseconds(0);
 const ts = +today;

现在您只需获取存储在该确切键处的文本。像这样的东西:

 snapshot.child(ts).val().Text

关于javascript - 如何使用 Javascript 在 Firebase 中仅显示对应于今天日期的特定 child ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51601617/

相关文章:

mysql - 存储包含200万条日志数据的大型CSV文件

sql - 选择减去两个表的查询,如果子项中有更多数据,则不应考虑它

mysql - SQL 间歇性地不返回任何数据来响应 LEFT JOIN

android - Firebase 中的 UTM 跟踪代码

firebase - firebase 网络应用程序和 firebase 托管有什么区别

javascript - 展开以逗号分隔的数组元素

javascript - 为什么结果没有被共享?

javascript - FBInstant.shareAsync() 函数在 facebook 即时游戏分享按钮中无法正常工作且没有任何错误

android - "Error: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath"

javascript - 为列表项导航淡出旧图像并淡入新图像