javascript - 在 firebase 中查询 startAt 和 endAt 的日期
问题描述
我有以下数据结构:
attendance
--- 2020-02-09-PM
--- 2020-02-11-PM
--- 2020-02-16-AM
--- 2020-02-16-PM
--- 2020-02-18-PM
例如,我想获得 2020-02-16 的日期,我需要 PM 和 AM。所以我想查询我的数据库以仅获取该数据。
这是我的尝试:
function getAttendanceCount(orgUid, dates) {
orgUid.forEach(uid => {
dates.forEach(date => {
const getAttendCount = fDB.ref(`organization/${uid}/attendance`)
.orderByChild('attendance')
.startAt(date+'-AM')
.endAt(date+'-PM')
.once('value')
.then(c => console.log(c.val()));
});
})
}
我的 console.log 为空。知道我怎么能做到这一点吗?
解决方案
改变这个:
const getAttendCount = fDB.ref(`organization/${uid}/attendance`)
.orderByChild('attendance')
进入这个:
const getAttendCount = fDB.ref(`organization/${uid}/attendance`)
.orderByKey()
您需要使用的原因orderByKey()
是因为日期作为键而不是作为child
具有值的示例:
"name" : "peter"
推荐阅读
- sql - 将 NULL 值插入 INT & STRING 列
- c++ - 单引号在 C++ 数学编程中是什么意思?
- sql - 由于“ORDER BY”在视图定义中不起作用,我们如何在 db2 视图中对数据进行排序?
- javascript - Rails,webpacker:在哪里/何时在类中使用 import 语句,以及在 pack/application.js 中要求的目的是什么?
- reactjs - 手动部署收到错误“app.json 必须包含 JSON 对象”
- jenkins - Jenkins 作业无法将 tar 文件推送到 s3 存储桶
- python - 如何从python中的同一个大列表中制作项目对
- python - 如何使用 Selenium 抓取 innerHTML 以获取 NFL 投注数据?
- javascript - 在 vue js 中监听 $emit 并在处理程序中使用 value 以及 parent 的 value
- kotlin - Kotlin 活动重启