firebase - 将对象推送到数组angularFire2

时间:2018-04-11 14:45:47

标签: firebase ionic-framework

我有一个数据库,我想存储这样的数据:

Books:
    0:{pushed Object}
    1:{pushed object} ...

好像它是一个数组,所以我可以迭代它并完成我需要做的事情。问题是我将数据存储为pic相关节目: pic related

它存储了push_ID firebase分配给对象但没有数组索引的对象。这就是我将对象推送到我的数据库的方式:

let book_data = {
  id: bookId,
  name: bookData.name,
  author: bookData.author,
  genre: bookData.genre,
  publishDate: bookData.publishDate
};
this.fb.list(`my-lists/${bookList.name}/books/`).push(bookData);

我做错了什么?

如果需要,我正在编写一个离子项目。

1 个答案:

答案 0 :(得分:0)

如果您使用 push()方法,Firebase会为其分配一个唯一ID,而无需您执行任何其他操作。因此,如果您需要定义的自定义键,可以使用 set()将数据保存到指定的引用,也可以替换该路径上的任何现有数据。

let book_data = {
  id: bookId,
  name: bookData.name,
  author: bookData.author,
  genre: bookData.genre,
  publishDate: bookData.publishDate
};

let yourkey = 0;

this.fb.list(`my-lists/${bookList.name}/books/${yourkey}`).set(bookData);

下次设置新对象时,必须再次更改密钥并保存数据