【发布时间】:2021-08-25 04:20:46
【问题描述】:
我正在开发一个 'typeahead' 类型功能,该功能将使用当前键入的文本检查我的数据库,以提供使用 Felgo 的用户的搜索建议。
这是Felgos Firebase documentation的链接
为了不搜索每个条目,我希望使用 startAt 和 limitTo 来减少数据使用量。
但是,当应用 startAt 时,我的搜索只返回未定义,我尝试通过将 startAt 从变量更改为显式数据来测试这一点,但这仍然只返回未定义。
我的功能如下:
function searchUsers(searchString) {
db.getValue("public/nameList/", {
orderByChild: true,
startAt: searchString, //searchString is a variable with my .currentText to search.
limitToFirst: 10,
}, function(success, key, value) {
if(success) {
searchArr = []
searchArr = value
console.debug("Read user value for key", key, "from DB:", value)
}
})
}
我也尝试通过JSON.stringify(searchString) 传递我的var searchString 并返回未定义!
删除startAt: 查询完全按预期返回nameList 的整个结果,但无论我如何尝试实现我的startAt,它总是返回未定义。
我的nameList JSON 示例是:
nameList: {
"EddieLaw245" : 530343772383,
"EddieLawrence91" : 530343772385,
"EdwardL91" : 530343772386,
"EdwardLaw" : 530343772384,
"Edwardlawrence91" : 530343772380,
"JoBrownLondon" : 530343772381,
"KatiePrescottHair" : 543592635596,
"Tracey-Sweeting" : 530343772382
}
所以在上面的例子中,当我输入 E 时,它应该删除最后 3 个条目,依此类推。
【问题讨论】:
标签: firebase firebase-realtime-database qml felgo