2017-08-11 11 views
-1

私はデータベースを検索し、アプリが既に提出されているかどうかを確認したいと思います。私が試した:Node.jsの使用中にfirebase(admin)で検索クエリを実行する方法はありますか?

ref.orderByChild("name") 
    .equalTo(formData.name) 
    .once("value", function(snapshot) { 
     snapshot.forEach(function(child) { 
      console.log(snapshot.key, snapshot.val()); 
     }); 
    }); 

ref.query( '名=' + formData.name、機能(、検索結果){

は、私は非常にお勧めします。このような

var admin = require('firebase-admin'); 
var db = admin.database(); 
var ref = db.ref(); 
ref.query('name=' + formData.name, function(searchResult) { 
    if (searchResult.length == 0) { 
    response.writeHead(200, { 'Content-Type': 'text/html' }); 
    response.write(userInfo); 
    response.end(); 
    } else { 
    response.writeHead(500, { 'Content-Type': 'text/html' }); 
    response.write('App existed.'); 
    response.end(); 
    } 
}); 

答えて

1

何かがトリックを行う必要がありますFirebaseのドキュメンテーションにいくつかの時間を費やして、これともっと多くのコンセプトを説明しています。数時間で、多くの時間と質問を省くことができます。

特に関連性がありますこの質問は以下のとおりです。

+0

おかげで、「名前」は、直接ではありませんので、 refの子(それは孫になるでしょう)、それはまだ動作しますか? –

+0

私が共有したクエリは ''name =' + formData.name'と同じです。既にデータ構造を持っている場合は、そのJSONの最小限のスニペット(テキストとして、スクリーンショットなし)を含めるように質問を編集**してください。これは、[Firebaseデータベースコンソール](https://console.firebase.google.com/project/_/database/data)の[Export JSON]リンクをクリックすると表示されます。 –

+0

実際これはうまくいくように見えました。 forEachを使いたくない場合は、 'snapshot [0] .val()。name'のように最初のものをチェックするだけです。なぜ 'undefined'エラーが出るのですか? –

関連する問題