按字段查找寄存器

时间:2018-06-06 19:34:03

标签: javascript angular firebase ionic-framework firebase-realtime-database

我在firebase中有我的数据库,你可以在这里看到https://snag.gy/bhopOk.jpg

用户扫描产品并为您提供此产品的编号,该编号放在输入中,然后当您单击搜索时,您必须带上该项目的描述和值并将其显示在前面的某个位置 This is my frontend

当该人点击搜索时,该函数或查询将如何为我提供所请求的数据?我知道这是一个简单的查询,但我没有说清楚我是离线

的新手

我试着这样做,看看我是否在控制台中返回了一些东西

findproduct(){
   var ref = firebase.database().ref("/productos/");
ref.orderByChild("Producto").equalTo(1706).on("child_added", function(snapshot) {
  console.log(snapshot.key);
});
  }

1 个答案:

答案 0 :(得分:0)

您可以按如下方式编写功能。但是,请注意query.once()是异步的并返回Promise。因此,当你打电话时,你必须考虑到这一点。

findproduct(productID) {
    var query = firebase.database().ref("productos").orderByChild("Producto").equalTo(productID);
    query.once('value', function(snapshot) {
        snapshot.forEach(function(childSnapshot) {
            var childKey = childSnapshot.key;
            console.log(childKey);
            var childData = childSnapshot.val();
            console.log(childData);
        });
    });
}

当您只想查询一次时,请使用once()方法:它“只侦听指定事件类型的一个事件(在这种情况下为'alue'),然后停止侦听”。请参阅文档here

使用on()方法时,您始终在查询定义的位置监听数据更改。请参阅文档here