Typescript 为firebase数据库推送正确格式化的对象

Typescript 为firebase数据库推送正确格式化的对象,typescript,firebase,firebase-realtime-database,Typescript,Firebase,Firebase Realtime Database,我想要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['/gui

我想要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()}
我可以创建一个要发送的类,但是类成员namespixelx,urlx最终将成为服务器上的密钥

class PixelData{
  pixelx:number;
  urlx:string;

  constructor(p:number,u:string){
    this.pixelx = p;
    this.urlx = u;
  }
}
设置此obj将导致以下推送-在缩略图下显示firebase推送id

"thumbnails": {
  "pixelx": 72
  "urlx": "http://url.to.72px.thumbnail",
}
谢谢。

换衣服就行了

let obj = { pixel : this.getUrl()}

在您的情况下,它将像素作为字符串,而在后一种情况下,它将采用像素变量的值

let obj = { [pixel] : this.getUrl()}