获取Firebase数据库

时间:2017-07-29 10:57:56

标签: javascript angularjs firebase firebase-realtime-database

我正在尝试从Firebase数据库中获取随机值。我有用户,谁拥有旅行。我的旅行信息数据库方案如下:

enter image description here

用户信息的数据库方案如下:

enter image description here

我已经有了这个函数来检索3次随机旅行的值(但是需要预先指定用户ID):

function shuffleArray(array) {
    for (var i = array.length - 1; i > 0; i--) {
        var j = Math.floor(Math.random() * (i + 1));
        var temp = array[i];
        array[i] = array[j];
        array[j] = temp;
    }
    return array;
}

app.controller('MainCtrl', function($scope) {
    var database = firebase.database();
    database.ref(`trips/${userid}/trips`).once('value')

        .then(photosSnap => {

            var trips = [];
            photosSnap.forEach((trip) => {
                trips.push({
                    tripKey: trip.key,
                    tripName: trip.val().name,
                    tripPhotoUrl: trip.val().photourl,
                    tripBeginDate: ConvertDate(trip.val().begindate),
                    tripEndDate: ConvertDate(trip.val().enddate)
                });
            });
            trips = shuffleArray(trips);
            trips.splice(3);
            $scope.repeatData = trips;
            $scope.userid = userid;


            $scope.$apply();

            console.log(trips);
        }).catch(err => alert(err));

});

此函数用于检索用户的值(同样需要预先指定用户ID):

var database = firebase.database();
database.ref(`user_profiles/${userid}/photourl`).once('value').then(photosSnap => {
    var userphotourl = photosSnap.val();
    $('#userphoto').attr('src', userphotourl);
});

var database = firebase.database();
database.ref(`user_profiles/${userid}/name`).once('value').then(photosSnap => {
    var username = photosSnap.val();
    $('#username').html(username);
});

现在我正在尝试从随机用户的X随机旅行中检索值(每个用户最多一次旅行)。我也想检索相应的用户信息。

0 个答案:

没有答案