Javascript 获取Firebase数据库中父节点和子节点的随机值
我正试图从Firebase数据库中获取随机值。我有用户,他们拥有旅行。我的trips信息数据库方案如下: 用户信息数据库方案如下: 我已经有了这个函数来检索3次随机旅行的值(但是需要预先指定userid): 此函数用于检索用户的值(同样,需要预先指定userid): 现在我尝试从随机用户的X个随机行程中检索值(每个用户最多一次行程)。我也想检索相应的用户信息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
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);
});