我需要使用带有firebase unique键的一个请求将对象组存储在火库中.(没有数组索引作为密钥)



我需要使用firebase unique键的一个请求在firebase中存储一组对象。(没有数组索引作为键(

(
let object_list =  {
  '0': {
    'title':'title 1',
    'time':'12.30pm',
  },
  '1': {
    'title':'title 2',
    'time':'12.30pm',
  },
  '2': {
    'title':'title 3',
    'time':'12.30pm',
  },
}
this.agendaRef = firebase.database().ref('objs/');
let data = this.agendaRef.push();
data.set(object_list);

我希望输出

 -LioB1b06T7tfVhbJmss6o
    time: "12.30pm"
    title:"title 1"
 -LioB1b06T7tfVhbsdfsdf
    time: "12.30pm"
    title:"title 2"
 -LioB1b06Tsdsdsd7tfVh2
    time: "12.30pm"
    title: "title 3"

但实际输出是

 -LioB1b06T7tfVhbJm6o
 0
    time: "12.30pm"
    title:"title 1"
 1
    time: "12.30pm"
    title:"title 2"
 2
    time: "12.30pm"
    title: "title 3"

每个呼叫push都会生成一个ID。因此,如果您需要多个生成的ID,则需要多次调用push

要意识到的一个关键是,无参数的无参数的push()是一个仅客户端操作。因此,您可以三次调用push()以生成ID,并且仍然只执行单个写操作,类似这样的操作:

let object_list =  [
  {
    'title':'title 1',
    'time':'12.30pm',
  },
  {
    'title':'title 2',
    'time':'12.30pm',
  },
  {
    'title':'title 3',
    'time':'12.30pm',
  }
}]
this.agendaRef = firebase.database().ref('objs/');
let object = {};
object_list.forEach((value) => {
  object[this.agendaRef.push().key] = value;
})
data.set(object);

最新更新