Supposons qu'il existe un tableau de dictionnaires d'élèves et que les élèves ont des noms et des numéros de classe. Tout d'abord, interrogez les écoles qui remplissent les conditions, facilitez le tableau de dictionnaires d'élèves, créez un objet étudiant et attribuez le nom, l'école et la classe, mais la classe doit d'abord interroger l'emplacement de la salle de classe pour déterminer. Une requête circulaire apparaîtra-t-elle ? Comment résoudre un tel problème ?
var studentArr = new Array({'name': 'a','room':'101'},{'name': 'b','room':'102'},{'name': 'c','room':'103'},{'name': 'd','room':'104'});
var objects = new Array();
var schoolQuery = new AV.Query(Shcool);
schoolQuery.equalTo('name','**高中');
schoolQuery.find().then(function(schoolReuslts){
for (var i = 0; i < studentArr.count; i ++){
var student = studentArr[i];
var object = new Student();
object.set('name',student['name']);
object.set('room',student['room']);
object.set('school',schoolReuslts[0]);
var classQuery = new AV.Query(Class);
classQuery.equalTo('school',schoolReuslts[0]);
classQuery.equalTo('room',student['room']);
classQuery.find().then(function(classResults){
object.set('class',classResults[0]);
objects.push(object);
}, function(error){
console.log(error);
});
}
return AV.Object.saveAll(objects);
}).then(function(objects){
//全部保存成功
}
}).catch(function(error) {
console.log(error);
Vous pouvez utiliser l'imbrication de fonctions asynchrones, async/await node.js version >7.10.0