我认为我缺少有关Angularfire2查询的内容。我收到以下错误:
ERROR TypeError: db.list(...).orderByChild is not a function
这就是产生错误的原因:
this.itemsRef = db.list('projects/').orderByChild('buyerEmail').equalTo(user.email);
this.items = this.itemsRef.snapshotChanges().pipe(
map(changes =>
changes.map(c => ({ key: c.payload.key, ...c.payload.val() }))
)
);
这,但是返回我要深入研究的列表:
this.itemsRef = db.list('projects/');
this.items = this.itemsRef.snapshotChanges().pipe(
map(changes =>
changes.map(c => ({ key: c.payload.key, ...c.payload.val() }))
)
);
JSON:
projects
-LXpud3uxRaTHKIRa4Da
ProjectName: "1234 sesame st."
buyerEmail: "matt@theInternet.com"
-LXpud3uxRaTHygr56aT
ProjectName: "789 sesame st."
buyerEmail: "joe@theInternet.com"
任何帮助将不胜感激。
编辑: 原来这是解决我的问题的错误方法。我最终保存了我想要的“键”,然后使用它来查找对象。在这种情况下,无需查询列表。
答案 0 :(得分:0)
对于list,以下方法可能有效。
this.itemsRef = db.list(path , {
query: {
orderByChild: 'buyerEmail',
equalTo: user.email,
}
});