1

Firebase Cloud機能を作成しようとしています.Firebase Cloud機能は、データベースからすべてのユーザを取り込み、その中の値を編集します。しかし、そのためには、私のCloud機能のコードがデータベースからすべてのユーザーIDを受け取るための迅速な方法が必要です。今のところ、データベースから取得したデータを印刷する機能を持っているので、私は何を使っているのか知っています。私はちょうど2つのつではなくユーザーIDが必要Firebase CloudファンクションデータベースsnapShot

{"WNGOuQqZhZSo5UFovgmgEAVX3Gz1":{"displayName":"jack","email":"[email protected]"},"aRaZVJorkYNwCSzAbMkNJiGwzJm2":{"displayName":"testing","email":"[email protected]"}} 

結果がこれです。

これは、私が働いているデータベースの一部である: part of database I am working with

これはコードされています the code

誰もが、私はそれを本当に感謝変更する必要があることを知っている場合は!ありがとう!

+1

が親切コードではなく、スクリーンショットを追加することを行うことを好むどの方法でも同じこと、単なる好みです。 – jaibatrik

答えて

1

value以上のfor-inループが必要だと思います。下記の擬似コードである - jaibatrikが言ったことと同じように

var value = snapShot.val(); 

let namesArray = []; 

for (var key in value) { 
    if (value.hasOwnProperty(key)) { 
     namesArray.push(key); 
    } 
} 
0

、あなたのオブジェクトを反復処理する必要があります。

オブジェクト全体を取得せずにキーを取得することはできません。

forループを実行するだけでなく、スナップショットにforEachを実行することもできます。

const uids = []; 

snapShot.forEach(single => { 
    uids.push(single.key); 
}); 

もう1つのオプションは、snapShot.val()オブジェクトからすべてのキーを取得することです。

const value = snapShot.val(); 

const uids = Object.keys(value); 

どちらの方法は、事実あなたが

関連する問題