J'ai deux schémas en Mongoose un pour les infos médecins et deux pour le classement. mes médecins schéma:Obtenir les données de deux req http et les combiner
var doctorsSchema = new schema({
Entity: {type:String},
name: {type:String},
Expertise : {type:String},
HMO: {type:String},
Address: {type:String},
reception_hours: [],
lat: {type:Number},
lng: {type:Number},
Ranking : {type:Number}
},{collection: 'doctorsLocation'});
mon schéma de classement est le suivant:
var calSchema = new schema({
Entity: {type:String},
name: {type:String},
Expertise : {type:String},
Address: {type:String},
Attention : {type:Number},
Professional: {type:Number},
Availability: {type:Number},
Atmosphere: {type:Number},
Recommendation: {type:Number}
},{collection: 'cal'});
Je veux calculer le classement de chaque médecin et après pour imprimer tous les détails de chaque médecin à l'écran.
c'est mon contrôleur (en AngularJS):
mymedical.controller('calCtrl',['$scope','$http','$cookies', function($scope,$http,$cookies){
var generalInfo = Array();
$http.get('http://localhost:3000/doctors').then(function(response){
//console.log(response);
var generalData = response.data;
for(var i=0; i<generalData.length; i++){
$http.post('http://localhost:3000/calculateRanking',generalData).then(function(res){
//console.log(res.data);
var info ={};
info.Ranking = res.data;
//console.log(res.data);
console.log("1");
info.Entity = generalData[i].Entity;
info.name = generalData[i].name;
info.Expertise = generalData[i].Expertise;
info.Address = generalData[i].Address;
info.reception_hours=generalData[i].reception_hours;
info.HMO=generalData[i].HMO;
generalInfo.push(info);
}).then(last(generalInfo));
}
//info.Ranking = 0;
//console.log(rank);
});
function last(val)
{
$scope.general = val;
//console.log(generalInfo);
console.log("last");
}
}]);
J'envoie tout côté serveur tous les médecins et, je fonction qui calcule le classement dans le côté serveur (Node.js) la fonction obtenir calSchema et plus selon chaque médecin leur calculer le classement et renvoyer au client (contrôleur) le classement. Après avoir obtenu le classement je veux afficher toutes mes données à l'écran, mais j'ai un problème avec la synchronisation de angulaire son imprimer moi tous les médecins et après m'imprimer le classement, et je veux les imprimer ensemble, Ce que je dois faire pour le réparer?
Merci,
Il ressemble à tout le réseau de médecins est envoyé à l'api "de calculateRanking". Et ça se passe pour chaque docteur. Voulez-vous simplement envoyer un médecin à la fois? –
oui exactement ce que je veux dire – adi