我正在处理离子项目,并且正在使用Firebase中的数据库来存储数据。 在这里,我想在输入新值时使用相同的键在两个数据库中创建值。
首先,我尝试获取一个数据库的密钥,并使用该密钥将值存储在其他数据库中。
this.database.list("/User/").push({
Username: this.username.value,
Email: this.email.value,
Shop: this.shopname.value,
Contact: this.contact.value
}).then((data)=>
console.log(data.key));
this.database.list("/Shops/").push(data.key).set(
this.shopname.value
);
然后我尝试获取一个密钥并将其设置到两个数据库中。
let key = this.database.createPushId();
this.database.list("/Shops/").push(key).set(
this.shopname.value
);
对我没有任何帮助。 我是离子学的初学者,已经提出的类似问题没有给我任何解决方案 如有需要,我将使用
angularfire2: "^5.0.0-rc.11",
firebase : "^4.13.1",
ionic 3
提前谢谢。
答案 0 :(得分:0)
每次致电python generateHadoopConfig.py > myconfig.conf
时,您都会引用一个具有唯一ID的新孩子。由于您要创建两个具有相同ID的新子节点,因此只应调用一次push()
。将对push()
的调用与编写的代码分开是最简单的:
push()
此调用实际上在数据库中不执行任何操作;它甚至不调用服务器。它仅生成在统计上保证是唯一的密钥。然后,您可以在两个写入操作中使用此键:
var key = firebase.database().ref("/User/").push().key;
以上内容直接使用JavaScript SDK,而不是AngularFire2。由于AngularFire2是基于JavaScript SDK构建的,因此它们可以完美地协同工作,因此您可能会在列表中看到的所有观察者都可以选择上述内容。