リアルタイムデータベースで更新する必要があるデータがありますが、set
コマンド(as described here in the docs)が機能していません。私は(それゆえ、すべての既存のデータを読み込み)書き込みには影響を与えませんいくつかの他のものをやっているFirebaseリアルタイムデータベース:新しいデータの書き込みに失敗しています
var config = {
//CONFIG
};
Firebase.initializeApp(config);
var dbRef = Firebase.database().ref();
getAllFirebaseDocs(dbRef);
async function getAllFirebaseDocs(dbRef, newSet) {
var snapshot = await dbRef.once('value');
var data = snapshot.val();
var bookName = "FirebaseForDummies";
var newData = {
'prop1': 'string',
'prop2': 0
}
Firebase.database().ref(bookName + "/edition/"+ 3).set(newData);
}
:ここで私はbabel-node scriptName.js
を実行している私のコードは、です。私は特に、既存のデータを更新/拡張しています。本FirebaseForDummies
にはすでに3つのエディションがあります。これは、データベース内のeditions
値は次のようになりますことを意味します
0: {data}
1: {data}
2: {data}
私は第四を追加したいので、私はFirebaseForDummmies/edition/3
とDBの参照を作成します。そして、ドキュメントのように、私はset
を使って、newData
オブジェクトを渡します。しかし、これは黙って失敗します。エラーメッセージは表示されず、リアルタイムデータベースコンソールには何も変わりません。
編集: 私はこれらのコマンドをコンソールのbabel-node
セッションで試してみました。私のスクリプトにはset()
の機能が動作しないものがあります。既存のデータにset()
を実装している他のスクリプトがあり、それらはすべて正常に動作しているので、それは何であるかわかりません。
EDIT2:
Firebase.database().ref(bookName + "/edition/"+ 3).set(newData, function(error) {
if(error) {
console.log(error);
}
else {
console.log("written!");
}
});
を繰り返しますが、私はそれが正常に動作babel-node
コンソールでそれをしようとすると、(帰国「書かれた!」)が、私のスクリプトでは、私はしないでください次のように は私がコールバックを追加しましたエラーまたは成功console.logを取得します。