火力地堡推到数据库对象的数组
问题描述:
的火力数据库push方法将对象添加到数据库孩子唯一的密钥,例如,火力地堡推到数据库对象的数组
postsRef.push({
author: "gracehop",
title: "Announcing COBOL, a New Programming Language"
});
提出类似的数据库中的以下
"posts": {
"-JRHTHaIs-jNPLXOQivY": {
"author": "gracehop",
"title": "Announcing COBOL, a New Programming Language"
}
但是,如果我使用对象数组的push方法,例如
postsRef.push({
{
author: "gracehop1",
title: "Announcing COBOL, a New Programming Language"
},
{
author: "gracehop2",
title: "Announcing COBOL, a New Programming Language"
}});
我得到一个唯一的键与数据库中列举的对象,即
"posts": {
"-JRHTHaIs-jNPLXOQivY": {
"0": {
"author": "gracehop1",
"title": "Announcing COBOL, a New Programming Language"
},
"1": {
"author": "gracehop2",
"title": "Announcing COBOL, a New Programming Language"
}
}}
有什么办法push
对象在一个事务中的阵列,使得我得到一个唯一的密钥为阵,即在每一个对象,看起来像
"posts": {
"-JRHTHaIs-jNPLXOQivY": {
"author": "gracehop1",
"title": "Announcing COBOL, a New Programming Language"
"-JRHTHaIs-jNPLXOQivZ": {
"author": "gracehop2",
"title": "Announcing COBOL, a New Programming Language"
}
}}
答
一个鲜为人知的事实的结果是,你可以调用push()
不带任何参数它只会为你生成一个位置/推送ID。与多位置更新(见here和here),你可以这样做:
var key1 = postsRef.push().key;
var key2 = postsRef.push().key;
var updates = {};
updates[key1] = {
author: "gracehop1",
title: "Announcing COBOL, a New Programming Language"
};
updates[key2] = {
author: "gracehop2",
title: "Announcing COBOL, a New Programming Language"
};
ref.update(updates);
因此,在短期没有办法进行多次推一气呵成呢? – Gardezi