我刚开始使用Firebase,并设法将数据发送到Firebase实时数据库。问题是有时它会起作用,有时却不起作用。我正在努力了解原因。
这是一个代码段
var pq_data = jsPsych.data.get().values();
for (var ix= 0; ix < pq_data.length; ix++){
var object=pq_data[ix];
var pq_boo = pq_database.ref(subj_id +ix.toString()+'/').update(object)
}
正如我说的那样,这有时可能有效,但并非总是如此,而且我了解到,这可能与写操作具有(?)之前的代码完成有关。 我已阅读但不清楚地了解关于onCompletion的建议,但我仍然处于黑暗之中。我需要确保将每个对象都写入数据库-这可能吗?如果可以,怎么办?
非常初学者, 菲利普。
答案 0 :(得分:0)
// Import Admin SDK
var admin = require("firebase-admin");
// Get a database reference to our blog
var db = admin.database();
var ref = db.ref("server/saving-data/fireblog");
首先,创建对您的用户数据的数据库引用。然后使用set()/ setValue()将用户对象以及用户名,全名和生日保存到数据库中。您可以传递设置字符串,数字,布尔值,空值,数组或任何JSON对象。传递null将删除指定位置的数据。在这种情况下,您将向其传递一个对象:
var usersRef = ref.child("users");
usersRef.set({
alanisawesome: {
date_of_birth: "June 23, 1912",
full_name: "Alan Turing"
},
gracehop: {
date_of_birth: "December 9, 1906",
full_name: "Grace Hopper"
}
});
答案 1 :(得分:0)
为此,是的。为简洁起见,我没有显示所有代码,因此可以访问数据库。问题在于向其发送数据。有时它有用,有时不起作用。
我现在意识到这与我未能兑现承诺有关。我现在对这些有所了解,但仍然需要确保将数据捕获到数据库中。因此,即使Promise可能返回错误,我仍然需要重新发送数据,以便将其写入数据库。仍然不确定这是建议还是可能。