我正在尝试仅获取具有不同日期值的children
的键。我查看了firebase api参考文档,他们有where
,但似乎找不到在哪里使用它。我想排除键date
,仅显示其余键。目前,我几乎全都想排除date
2019-03-27
AB000002_AB0244
AB000002_AB0827
date
这是我的Firebase数据库
const fetchReminders = ()=> {
const ref = db.ref("reminders");
let dateTime = new Date();
let currentDate = dateFormat(dateTime, "yyyy-mm-dd");
ref
.orderByChild('date')
.endAt(currentDate)
.once('value', (pSnapshot)=> {
pSnapshot.forEach((theSnapshot)=> {
console.log(theSnapshot.key);
theSnapshot.forEach( (pNotificationSnapshot)=> {
console.log(pNotificationSnapshot.key);
});
});
}).catch( (error)=> {
console.log(error)
})
};
答案 0 :(得分:2)
您需要更改数据库,因为date
已经是父节点,那么就不需要添加子节点date : 2019-03-10
,或者如果您必须添加date
然后可以将其添加到另一个key
下。
应该创建您的数据库,以使查询变得容易和可能。
更多信息在这里:
https://firebase.google.com/docs/database/web/structure-data
答案 1 :(得分:1)
这是不可能的:使用实时数据库
默认情况下,查询很深:它们总是返回整个子树。
如此处https://firebase.google.com/docs/firestore/rtdb-vs-firestore#querying
所述由于您正在查询reminders
节点的直接子节点,因此您将获得整个子树,包括AB000002_AB0244
,AB000002_AB0827
节点及其子节点,以及{{1 }}节点。