Javascript 使用Firebase搜索好友-Web应用程序
我是Firebase的新手,在应用程序中实现搜索功能时遇到了一些问题。我希望用户能够通过搜索来搜索其他用户 如果用户总是一次搜索一个单词,我就不会有问题了。但用户可以按名字、姓氏或全名进行搜索。这是否意味着我需要对数据库进行三次查询Javascript 使用Firebase搜索好友-Web应用程序,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我是Firebase的新手,在应用程序中实现搜索功能时遇到了一些问题。我希望用户能够通过搜索来搜索其他用户 如果用户总是一次搜索一个单词,我就不会有问题了。但用户可以按名字、姓氏或全名进行搜索。这是否意味着我需要对数据库进行三次查询 您不能在内部搜索Firebase DB。我知道,考虑到这是谷歌制造的产品,这是没有意义的。你可以用我用过的Algolia。另一个选项是创建更适合要执行的搜索(查询)的子值。 var myArray = []; $('#navSearchBtn').clic
您不能在内部搜索Firebase DB。我知道,考虑到这是谷歌制造的产品,这是没有意义的。你可以用我用过的Algolia。另一个选项是创建更适合要执行的搜索(查询)的子值。
var myArray = [];
$('#navSearchBtn').click(function () {
// get search input values
var searchQuery = $('#srch-term').val();
var searchQuerySplit = searchQuery.split(" ");
var firstName = searchQuerySplit[0];
var lastName = searchQuerySplit[searchQuerySplit.length - 1];
if (searchQuery) {
// get rootRef
var rootRef = firebase.database().ref();
// If a user doesn't enter a full name, the query only
// returns first names that match, I need to also return
// last names that match the query.
// Does this mean I repeat this query 3 other times (first name
// , last name, and full name)?
rootRef.child('users').orderByChild('displayName').startAt(searchQuery).endAt(searchQuery + '\uf8ff').on("child_added", function (snapshot) {
var snapshotResult = snapshot.val();
myArray.push(snapshotResult.displayName);
})
console.log(myArray);
} else {
console.log("nothing found");
}
})