使用动态对象名称更新数据库(Node.js)

时间:2018-05-21 21:48:20

标签: javascript node.js

我正在抓取一些网络数据并将其添加到我的数据库中。问题是我希望该结构导致具有动态生成名称的对象集合。

在下面的示例中,我希望var URLString动态地成为底部对象的名称。现在,添加到我的数据库的每个对象都有名称' URLString',而不是URLString变量的值。

我环顾四周但却无法弄清楚这是否可能(更不用说是好的还是坏的做法),但似乎它应该是不成熟的。

我希望有人可以提供帮助。感谢

$('.live-update').each(function(i, element){

        var homeTeamAbbr = $(this).find('tbody').children('tr').eq(0).find('a').html().split("alt/").pop().split('.svg')[0]
        var awayTeamAbbr = $(this).find('tbody').children('tr').eq(1).find('a').html().split("alt/").pop().split('.svg')[0]
        var homeTeam = $(this).find('tbody').children('tr').eq(0).find('a.team').text().trim();
        var awayTeam = $(this).find('tbody').children('tr').eq(1).find('a.team').text().trim();
        var gameTime = $(this).find('.pregame-date').text().trim()

        console.log(homeTeam + " @ " + awayTeam + ": " + gameTime)
        console.log(homeTeamAbbr + " @ " + awayTeamAbbr)

        var urlDate = moment().format('YYYYMMDD');

        var URLString = "NBA_" + urlDate + "_" + awayTeamAbbr + "@" + homeTeamAbbr;
        var docRef = database.collection('Schedule').doc(urlDate).collection(URLString);


        var boxScoreURL = "www.cbssports.com/nba/gametracker/boxscore/" + URLString

        var objectNamed = URLString

        var setAda = docRef.add({URLString: {
          homeTeam: homeTeam,
          awayTeam: awayTeam,
          date: gameTime,
          homeTeamAbbr: homeTeamAbbr,
          awayTeamAbbr: awayTeamAbbr,
          boxScoreURL: boxScoreURL
        }});


});

1 个答案:

答案 0 :(得分:0)

使用bracket notation

var setAda = docRef.add({[URLString]: {
      homeTeam: homeTeam,
      awayTeam: awayTeam,
      date: gameTime,
      homeTeamAbbr: homeTeamAbbr,
      awayTeamAbbr: awayTeamAbbr,
      boxScoreURL: boxScoreURL
}});