【发布时间】:2019-03-12 04:50:57
【问题描述】:
我正在为我网站上的帖子建立一个喜欢/不喜欢的系统。每次用户点击赞按钮时,数据库中的赞数都会更新。存储在数据库中的对象以图片的url、类别和点赞数作为键。
以下是我的更新代码:likeButton(img) 是一个函数,当用户单击like 按钮时会调用它。
likedButton(img) {
var url = img.src;
var x = this.db.list('/userPosts',
ref => ref.orderByChild('url').equalTo(url));
x.snapshotChanges().subscribe(
(datas) => {
var keys = datas[0]['key'];
var obj = x.valueChanges().subscribe((z) => {
var n = z[0]['likes'];
n++;
console.log(n);
firebase.database().ref('/userPosts'+keys+'/likes').set({
'likes' : n
});
});
});
}
}
我希望更新“喜欢”的现有值。但是函数以创建新对象结束。
【问题讨论】:
-
你说“作为它的key”,是key里面的like数吗?
-
@LasseVågsætherKarlsen 我在数据库中的对象是:{key: " ", likes: " " , url: " " ,category: " "}
-
您确定要更新的网址不是
/userPosts/key吗?为什么likes是引用的一部分?
标签: typescript firebase firebase-realtime-database angularfire2