如何将生成的唯一ID从推送功能复制为子ID(Firebase)

时间:2018-09-18 15:48:37

标签: angular firebase ionic-framework firebase-realtime-database angularfire2

我想知道如何将PUSH生成的唯一ID复制到firebase数据库并复制到其Child作为ID对象。

请参见下面的图片示例:

enter image description here

我的第一种方法是生成自己的uniqueID,但是,我相信firebase的唯一ID比创建自己的ID更可靠。

const arr = [
    [{name: 'a', date:'x'}, {name: 'b', date:'y'}],
    [{name: 'c', date:'x'}, {name: 'd', date:'y'}]
];

const names = arr.map(el => el.map(obj => obj.name));

console.log(names.join());
console.log(names.flat());

您能建议吗?谢谢

2 个答案:

答案 0 :(得分:1)

有关网络,请参见Update specific fields

  // Get a key for a new Post.
  var newPostKey = firebase.database().ref().child('posts').push().key;

Getting the unique key generated by push()用于nodejs

// Generate a reference to a new location and add some data using push()
var newPostRef = postsRef.push();

// Get the unique key generated by push()
var postId = newPostRef.key;

答案 1 :(得分:1)

在不带任何参数的情况下调用push()时,它将在推送位置返回数据库引用。它具有key属性,具有在客户端上生成的唯一密钥。然后,您可以在随后写入该位置的对象中使用该键。例如,使用普通的javascript(非角度):

var objectToPush = { data: "foo" };
var ref = parent.push();
objectToPush.id = ref.key;  // add the id to the object to write
ref.set(objectToPush);