相关疑难解决方法(0)

如何在firebase上执行sql"LIKE"操作?

我正在使用firebase进行数据存储.数据结构如下:

products:{
   product1:{
      name:"chocolate",
   }
   product2:{
      name:"chochocho",
   }
}
Run Code Online (Sandbox Code Playgroud)

我想对这些数据执行自动完成操作,通常我会像这样编写查询:

"select name from PRODUCTS where productname LIKE '%" + keyword + "%'";
Run Code Online (Sandbox Code Playgroud)

因此,对于我的情况,例如,如果用户输入"cho",我需要同时带上"chocolate"和"chochocho".我考虑将所有数据放在"产品"块下,然后在客户端进行查询,但这可能需要大量数据库的内存.那么,我该如何执行sql LIKE操作呢?

谢谢

javascript firebase firebase-realtime-database

42
推荐指数
2
解决办法
3万
查看次数

如何在Firebase数据库中进行简单的字符串搜索?

我想在我的应用程序中创建一个简单的搜索,但在关于它的互联网上找不到任何东西,这比2014年更新.必须有更好的方法.有startAt和endAt函数,但它们不能按预期工作,并且区分大小写.你们是如何解决这个问题的?2016年该功能如何仍然不存在?

android firebase firebase-realtime-database

31
推荐指数
3
解决办法
5万
查看次数

firebase查询方法startAt()采用区分大小写的参数

这段代码工作正常.

我想要的唯一改进是 - 当我传递"Pi"时,它会获取以名称"Pi"开头的所有项目对象,但是当我输入"pi"时它什么都不返回!

这意味着我希望这种方法startAt(itemName)不区分大小写.所以这应该适用于任何事情(小写或大写),在这种情况下"Pi"或"pi"等.

//5. Get menu items from RestaurantMenu
this.getMenuItemFromRestaurantMenu = function(callback, itemName) {
  var ref_restMenu = firebase.database().ref()
  .child('Restaurants')
  .child('Company')
  .child('menu');

  //Check if item is already exist!
  ref_restMenu.orderByChild("itemName").startAt(itemName).once("value", function(snapshot) {
    var data = snapshot.val(); 
    if(data !== null) {
      //We will ger item name and restaurant id from this data.
      callback(data);
    } else {
      //Item not found in globalMenu
      console.log("%c Item not found in Global Menu", "color: red");
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

javascript firebase firebase-realtime-database

17
推荐指数
1
解决办法
6867
查看次数

如何在Firebase数据库中的字符串中任何地方搜索-Android

我已经在我的Android应用中实现了Firebase实时数据库,一切都很好。我正在尝试添加一个搜索功能,并且我只能通过起始单词匹配来搜索数据库。下面是我的数据库快照:

在此处输入图片说明

我正在查询movieName。现在,我可以搜索查询字符串是否为Pets / Pe / pet。但是,当我搜索动物时,结果为零。因此,基本上我正在寻找的是在字符串中任何位置使用查询文本搜索数据库。即,我应该能够搜索动物/和/宠物,并且应该获得包含搜索查询的结果。

下面是到目前为止的代码。

mDatabaseReference.child("recent").getRef().orderByChild("movieName").startAt(query)
                    .endAt(query + "\uf8ff")
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-realtime-database

7
推荐指数
1
解决办法
4718
查看次数