请检查此代码段,我已为您提供了所需的工作样本。 请检查代码中的注释以更好地理解。
示例工作代码与您所需的类似。
var allRefDatasSchemas = { RefAllotement: mongoose.model('RefAllotement', RefDataSchema), RefModeleConstructeur: mongoose.model('RefModeleConstructeur', RefDataSchema), RefTypeKit: mongoose.model('RefTypeKit', RefDataSchema), RefTypeUtilisation: mongoose.model('RefTypeUtilisation', RefDataSchema),};var arr = [];for(each in allRefDatasSchemas) { arr.push(each);}var queue = [ function(callback) { // pass the ref array and run first query by passing starting index - 0 callback(null, arr, 0) }];var finalResult = {};var callbackFunc = function(prevModelData, currentIndex, callback) { allRefDatasSchemas[arr[currentIndex]].find(function(err, result) { if(err) { console.log(err) } else { // Your Query // // I'd like to do something like that : // but this.modelName is null, because it isn't the model // on which the find is done. // arr[currentIndex] will point to // RefAllotement, RefModeleConstructeur etc. as you required finalResult[arr[currentIndex]] = result // send current result to next interation if required or you can skip // and increment the currentIndex to call next query callback(null, result, currentIndex + 1) } })}for(each in allRefDatasSchemas) { queue.push(callbackFunc);}async.waterfall(queue, function (err, result) { // Final object with result of all the queries console.log('finish', finalResult)});输出 将采用这种格式
finish { RefAllotement:[ // Result of RefAllotement query ], RefModeleConstructeur:[ // Result of RefModeleConstructeur query ], RefTypeKit:[ // Result of RefTypeKit query ], RefTypeUtilisation:[ // Result of RefTypeUtilisation query ]}


