我有一个show
的概念,我建立的应用程序看起来像这样:
{"band":"Jimmy Herring And The Invisible Whip","date":"2017-12-08T00:00:00-08:00","numberOfShows":"1 show","venue":"Warfield, S.F.","time":"7pm/8pm","soldOut":false,"pit":false,"multiDay":false,"ages":"a/a","price":"$100"}
每个show
都有几个属性,包括一个band
;如果日期时间和地点相同,则shows
的几行可以是相同的event
,但每个show
都是它自己的对象。
我想遍历一个show
数组,并在名为artist
的名称空间中的firebase上存储波段。
这是我的代码:
for (const parsedShow of parsedShows) {
let artistref;
let artist;
artistref = this.db.ref(`artist`);
artist = await artistref.push({ name: parsedShow.band });
}
其中node.js函数正在以db
这将使用类似
的拓扑存储数据 artist/{id}/[name: {name}]
event
名称空间以及与给定事件相关联的艺术家id
(并且id
由...自动生成的地方},我认为这样可以正常工作火力)。
我的问题是,如果数据库中已存在给定的波段名称,如何阻止写入我的firebase数据库?我想只强制执行唯一的带名。
另外,有没有办法在ref中合并一个由firebase生成的id?如果可能的话,我更愿意artist/name/{name: parsedShow.band, id: <some firebase-generated id>}
。