Firebase在Javascript

时间:2018-03-21 15:02:29

标签: javascript firebase firebase-realtime-database

我已经搜索了很多关于如何解决这个问题的答案,但我似乎仍然无法理解如何在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。

数据结构

enter image description here

1 个答案:

答案 0 :(得分:0)

试试这个:

var userOpenBountiesRef = database.ref('users/' + userOpened).child("open_bounties");
userOpenBountiesRef.child(issueHashId).set(true)