2017-05-30 9 views
0

NodeJSサーバーからFirebaseデータベースまでの2つの距離の時間差を送信しようとしています。NodeJSで置き換えずにFirebaseにデータを追加するには?

function sendDatabase(dbName, payload1) { 
    var timeNow = getTime(); 
    console.log(timeNow); 
    var ref = db.ref(dbName); 
    ref.set({difference:payload1}); 
} 

DBNAME = IpBBEfCob0c1GaYkvAzog9rVdKn1/

payload1私が送信する時間差です。

dbNameはデータベース内の子ノードであり、実行するたびにdbNameの子ノードとしてpayload1を保存します。

しかし、この関数を実行するたびに、それが置き換えられ、新しいエントリは作成されません。私はそれがプロパティ名differenceが毎回同じなので、私はそれが置き換えられないように私はそれをユニークにすることができるかどうかを確認するために私の検索したが、私の問題に適切な答えを見つけることができなかったためです。

私はFirebaseの初心者です。これを手伝っていただければ幸いです。

+0

あなたは ')('プッシュを試みたことがありますか? https://firebase.google.com/docs/reference/js/firebase.database.Reference#push –

+0

はい私はプッシュを試みました。しかし、それは一意のIDノードを作成し、その下にただ1つのインスタンスを保存します。次回に別のノードを作成して保存します。私が望むのは、同じノード内にすべてを持つことです。 –

+1

同じ 'difference'キーの複数のインスタンスが必要ですか? –

答えて

2

同じインスタンスの複数のインスタンスを持つことはできませんkey。それはもうkeyではありません。あなたはこれを行うことはできません:あなたは何ができるか

dbName 
- difference : 00 
- difference : 01 
- difference : 02 
- difference : ... 

は違いの複数の子を持っている:pushingユニークな子どもたちが

dbName 
    + difference 
    - khghjgfvhgfh : 00 
    - khghjgfvhgfi : 01 
    - khghjgfvhgfj : 02 
    - khghjgfvhgfk : ... 

db.ref(dbName).child("difference").push(payload1) 

pushは自動的に時系列で子供を注文します。

とするとき、あなたのノードを照会、LimitToLastは、まず、等...

db.ref(dbName).child("difference").limitToLast(2) 
+0

ありがとうございます。私は今これを試してみます –

+0

ありがとうございます。これは完全に機能しました –

関連する問題