我计划从数据库中获取一个列表,其中某些记录包含一个可以设置的属性。我想查询和显示没有此属性的项
{
books: {
book_3: {
title: "Return of The King"
},
book_2: {
title: "The Two Towers"
},
book_1: {
title: "The Fellowship of the Ring"
read: 1256953732
}
}
}
我已经读了第一本书,我想展示剩下的两本书。
在firebase中我做到了:
fbl.child('books').orderByChild('read').equalTo(null).on("value", function(data) {
// handle data
}
在Angularfire2中,我会做如下事情:
this.af.database.list('books', { query: {
orderByChild: 'read',
equalTo: null
}});
第一种方法是有效的,我得到了Book_2,Book_3,但是AngularFire2方法返回了整个列表!是否有可以指示为空值的值?我试过布尔语、空字符串等,但似乎没用。
也许这是个虫子。
最佳答案
该问题已通过this pull request-被包括在angularfer2的2.0.0-beta.7
释放中得到解决。
这个问题已经用this pull request解决了,它应该包含在2.0.0-beta.7
之后的angularfer2的发布版本中。
使用修复程序,如果创建如下查询:
this.af.database.list('books', { query: {
orderByChild: 'read',
equalTo: null
}});
它们的行为将与您预期的一样,并且只返回不具有
read
属性的列表项。