gpt4 book ai didi

javascript - 如何使用子字符串查询 firebase 键

转载 作者:行者123 更新时间:2023-11-28 17:37:08 24 4
gpt4 key购买 nike

我想查询包含输入的 Firebase。例如在下面的数据库结构中,我想查询包含“4140”的所有节点所以我使用这段代码

enter image description here

  var catref = Cataloguedatabase.ref("/Listing Search/");


return catref.once('value').then(function(snapshot){
snapshot.forEach(childSnapshot => {

let snapdb = childSnapshot.val();
let key = childSnapshot.key;
//use ES6 includes function
if(key.includes(schname)){

console.log(childSnapshot.val());
var searchresults = childSnapshot.val();
var container = document.getElementById('listing_gallery');
// container.innerHTML = '';

var productCard = `
<div class="col-sm-3">
<div class="card" onclick="gotoproduct(this);" id="${key}">
`
container.innerHTML += productCard;
}
})
})

这可行,但问题是它首先查询所有子节点并对数组进行排序。这对于具有很少子节点的节点来说是可以的,但是当它达到数千个子节点时,它就变得不切实际了。有没有一种方法我只能查询包含 firebase 中的值的键,如果不是,我还能如何实现它?

最佳答案

正如 Doug 所说,无法查询包含特定字符串的值。但是您可以查询某个子字符串开头的键:

return catref.orderByKey().startAt("4140-").endAt("4140-\uf8ff").once('value').then(function(snapshot){

这将只匹配键以 4140- 开头的子节点。

关于javascript - 如何使用子字符串查询 firebase 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48896894/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com