我想在firebase db上使用以下结构。
"thumbnails": {
"72": "http://url.to.72px.thumbnail",
"144": "http://url.to.144px.thumbnail"
}
我很难正确地在结构中获得键72,144,因为它们是在推送到db之前的计算值。它们代表图像的像素。
let pixel = this.calcPixels();
let obj = ?????
var updates = {};
updates['/guid/thumbnails/'] = obj;
let masterRef = this.db.database.ref();
masterRef.update(updates);
我想要做的是以下内容,但这显然不起作用。
let obj = { pixel : this.getUrl()}
我可以创建一个要发送的类,但类成员名称(pixelx,urlx)最终将成为服务器上的密钥。
class PixelData{
pixelx:number;
urlx:string;
constructor(p:number,u:string){
this.pixelx = p;
this.urlx = u;
}
}
设置此obj会产生以下结果(推送 - 在缩略图下使用firebase push id)
"thumbnails": {
"pixelx": 72
"urlx": "http://url.to.72px.thumbnail",
}
感谢。
答案 0 :(得分:1)
只需更改
let obj = { pixel : this.getUrl()}
到
let obj = { [pixel] : this.getUrl()}
在你的情况下,它将像素作为字符串,而在后一种情况下,它将采用像素变量的值。