【发布时间】:2023-03-03 06:39:20
【问题描述】:
我正在使用 Angular Firebase 应用程序,一个客户更新了一些商品的购买请求,在 firebase 中使用以下方法...
addPurchaseRequest(data, uid: string) {
this.db.database.ref("/purchaserequests/").push(data);
}
我在 firebase 购买了以下 2 次商品
purchaserequests
-LXZVHEpbxfpJzt_el10
actualbonus: 12312,
uid:1,
status:,
approvedon:''
-LXFSADSpbxfpJzt_el11
actualbonus: 12,
uid:2,
status:0,
approvedon:''
现在我想更新 uid = 1 的状态和日期
updatepurchaserequest(rid : string , amount : number , reason: string) {
const dataObj = {
status: 1
approvedon: new Date().toLocaleDateString()
};
this.db.database.ref("/purchaserequests/").set(dataObj);
但这不起作用并替换了完整的购买请求对象。
我需要 Mysql 的 where 子句之类的东西,它说 update dataObj where uid =1
【问题讨论】:
-
Firebase 没有更新查询的概念。您必须执行查询 (
orderByChild("uid").equalTo(1)),然后循环遍历结果并分别在每个匹配节点上调用更新。 -
谢谢,我可以放 2 where 子句 ..like update where uid = 1 and where approvedon = '' 吗?提前致谢
-
Firebase 查询只能包含一个条件。见stackoverflow.com/questions/26700924/…
标签: angularjs firebase firebase-realtime-database