2017-08-11 32 views
-1

我喜歡搜索數據庫,看看是否已經提交了一個應用程序。我想:有沒有一種方法在使用Node.js時在firebase(admin)中執行搜索查詢?

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

像這樣的東西應該做的伎倆:

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

ref.query( '名稱=' + formData.name,功能(信息搜索結果){

我強烈推薦在Firebase文檔中花費了一些時間,這解釋了這一點以及其他許多概念,在那裏幾小時將爲您節省很多小時(和問題)。這個問題是:

+0

感謝,該部分不直接孩子(這將是孫輩),它會繼續工作嗎? –

+0

我分享的查詢等同於'name ='+ formData.name'。如果您已經擁有數據結構,請**編輯**您的問題以包含該JSON的最小片段(如文本,無截圖)。您可以通過點擊[Firebase數據庫控制檯](https://console.firebase.google.com/project/_/database/data)中的「導出JSON」鏈接來獲取此信息。 –

+0

其實這似乎工作,我只是試過。如果我不想使用forEach,而只需要檢查第一個,比如'snapshot [0] .val().name',我可以這樣做嗎?爲什麼它會拋出'undefined'錯誤? –

相關問題