Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取Firebase数据库中父节点和子节点的随机值_Javascript_Angularjs_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 获取Firebase数据库中父节点和子节点的随机值

Javascript 获取Firebase数据库中父节点和子节点的随机值,javascript,angularjs,firebase,firebase-realtime-database,Javascript,Angularjs,Firebase,Firebase Realtime Database,我正试图从Firebase数据库中获取随机值。我有用户,他们拥有旅行。我的trips信息数据库方案如下: 用户信息数据库方案如下: 我已经有了这个函数来检索3次随机旅行的值(但是需要预先指定userid): 此函数用于检索用户的值(同样,需要预先指定userid): 现在我尝试从随机用户的X个随机行程中检索值(每个用户最多一次行程)。我也想检索相应的用户信息 function shuffleArray(array) { for (var i = array.length - 1; i

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

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

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

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

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

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));

});
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);
});