Javascript 使用Firebase搜索好友-Web应用程序

Javascript 使用Firebase搜索好友-Web应用程序,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我是Firebase的新手,在应用程序中实现搜索功能时遇到了一些问题。我希望用户能够通过搜索来搜索其他用户 如果用户总是一次搜索一个单词,我就不会有问题了。但用户可以按名字、姓氏或全名进行搜索。这是否意味着我需要对数据库进行三次查询 您不能在内部搜索Firebase DB。我知道,考虑到这是谷歌制造的产品,这是没有意义的。你可以用我用过的Algolia。另一个选项是创建更适合要执行的搜索(查询)的子值。 var myArray = []; $('#navSearchBtn').clic

我是Firebase的新手,在应用程序中实现搜索功能时遇到了一些问题。我希望用户能够通过搜索来搜索其他用户

如果用户总是一次搜索一个单词,我就不会有问题了。但用户可以按名字、姓氏或全名进行搜索。这是否意味着我需要对数据库进行三次查询


您不能在内部搜索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");
        }
    })