我打算从我的数据库中获取一个列表,其中某些记录包含可以设置的属性.我想查询和显示没有此属性的项目
{
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 – 它包含在AngularFire2的2.0.0-beta.7版本中.
该问题已通过this pull request修复 – 应该包含在2.0.0-beta.7之后的AngularFire2的已发布版本中.
使用此修复程序,如果您创建这样的查询:
this.af.database.list('books', { query: {
orderByChild: 'read',
equalTo: null
}});
它们的行为与您期望的一样,并且仅返回没有读取属性的列表项.