我已经搜索了很多关于如何解决这个问题的答案,但我似乎仍然无法理解如何在Firebase中按照我想要的方式构建数据。根据构建数据的Firebase文档,我尝试将ID索引添加到用户下的节点,并为其设置值true。这是我提出的代码,但它只是覆盖了用户“open_bounties
”节点下的先前ID。每次我向数据库添加一个问题时,我都希望将问题ID添加到用户“open_bounties
”节点,以便很容易为用户打开奖金索引。
Firebase flatten data structures docs
以下是我将问题推送到数据库的代码。
database.ref('issues/' + issueHashId).set({
user_opened: userOpened,
issue_url: getFullIssueUrlFromId(issueUrlId),
bounty_amount_posted: bountyAmount,
is_open: true
})
database.ref('open_issues/' + issueHashId).set({
user_opened: userOpened,
issue_url: getFullIssueUrlFromId(issueUrlId),
bounty_amount_posted: bountyAmount
})
//This is the part in question
var userOpenBountiesRef = database.ref('users/' + userOpened).child("open_bounties")
userOpenBountiesRef.set({
[issueHashId]: true
})
这是结构的样子。如您所见,用户打开赏金中唯一的值是输入的最新记录ID。
数据结构
答案 0 :(得分:0)
试试这个:
var userOpenBountiesRef = database.ref('users/' + userOpened).child("open_bounties");
userOpenBountiesRef.child(issueHashId).set(true)