firebase数据库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。通过该更新和多位置更新(请参阅此处和此处),您可以执行以下操作:
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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句