以下调用:

fDB.ref(`organization/${uid}/attendance/${date}`)
.once('value')
.then(d => console.log(d.val()))


返回这样的对象:

{ '-Lz8YxH_n7a5C6wv5vrX': 'absent',
  '-Lz8YxHbn5iOCxaGUBZt': 'absent',
  '-Lz8YxHfQPKH5BaIJBK_': 'absent',
  '-Lz8YxHiwp8QZW3TqAFn': 'present',
  '-Lz8YxHjtMUkroeyT5bv': 'absent',
  '-Lz8YxHmHqDblmBY4jyx': 'absent',
  '-Lz8YxHo-e4AiOwwex0s': 'absent',
  '-Lz8YxHqQXWoaGOFRLrO': 'present',
}


如何仅查询不存在的值?
我试过了:

fDB.ref(`organization/${uid}/attendance/`)
    .orderByChild(date)
    .equalTo('absent')
    .once('value')
    .then(d => console.log(d.val()))


上面返回null
我也试过

fDB.ref(`organization/${uid}/attendance/${date}`)
    .orderByKey()
    .equalTo('absent')
    .once('value')
    .then(d => console.log(d.val()))


同样的东西为空。我该如何实现?

最佳答案

它将在日期节点上使用orderByValueequalTo进行过滤,使您可以在值中运行过滤器:

 fDB.ref(`organization/${uid}/attendance/${date}`)
    .orderByValue()
    .equalTo('absent')
    .once('value')
    .then(d => console.log(d.val()));

07-24 09:50