使用带有搜索栏的键搜索Firebase数据库

时间:2018-09-16 15:01:20

标签: ios swift firebase search indexing

http://i67.tinypic.com/2mdb9c.jpg

我在firebase数据库中有数据,并且数据结构如所附的图像所示。当用户在应用中输入搜索查询时,我尝试使用搜索栏进行搜索以查找配方名称。附件中还显示了当前设置的索引规则。这是我的代码:

 self.findRecipes(text: "Lemon")

func findRecipes(text: String)->Void{

    ref.child("Categories").queryOrdered(byChild: "recipeName").queryStarting(atValue: text).queryEnding(atValue: text+"\u{f8ff}").observe(.value, with: { snapshot in

        print(snapshot)

    })
}

控制台中的输出为

Snap (Categories) <null> 

有帮助吗?

1 个答案:

答案 0 :(得分:0)

对不起,我只知道如何使用web应用程序中Firestore DB中的搜索栏成功检索数据。也许可以帮助您。

HTML:

<input type="text" placeholder="search" id="latestHotDogStatus"> 
<ul id="pastComments2"></ul>
<li><id="loadButton">Search</li> 

JS:

firebase.initializeApp(config);
var firestore = firebase.firestore();
var docRef = firestore.collection("indian");
var showat2 = document.querySelector("#pastComments2");
var loadbutton = document.querySelector("#loadButton");
var inputTextField = document.querySelector("#latestHotDogStatus");
loadbutton.addEventListener("click",function(){
    docRef.get()
    .then(snapshot => {
      snapshot.forEach(doc => {
        const myData = doc.data();
                        if(myData.dname == inputTextField.value){

               showat2.innerHTML += myData.dname+" "+myData.dno+myData.no+ ;  
                  inputTextField.innerHTML = " ";
        }                  

      });
    }).catch(function(error){
    console.log("error: "+error);
  });
});