[英]break from each function of Javascript
在仔细阅读之前,请不要标记重复或给出负面标记。
在阅读所有文档后,从Mongodb光标函数的.each函数中断,并继续进行逻辑。 我知道每个循环都没有break语句。
我在Mongodb中循环遍历每个文档并在完成后我想做进一步的逻辑。 如果我给出“返回”声明,它将使我失去功能。 我不想失去功能。
function update (){
var resultCursor = dbCollection.find();
resultCursor.each(function(err, result) {
if (result == null)
{
//// I want to break from here & continue to logic further
//return false;
};
console.log('result for each item is ',result);
//Calculate distance for from location if < 1000 meters
riderFromLat = reqBody.fromLoc.lat;
riderFromLong = reqBody.fromLoc.lng;
var fromDistance = geolib.getDistance({latitude: riderFromLat, longitude: riderFromLong }, {latitude: result.fromLoc.coordinates[0], longitude: result.fromLoc.coordinates[1]});
console.log(' From Distance is ',fromDistance);
if ( fromDistance < 1000 )
{
riderToLat = reqBody.toLoc.lat;
riderToLong = reqBody.toLoc.lng;
var toDistance = geolib.getDistance({latitude: riderToLat, longitude: riderToLong }, {latitude: result.toLoc.coordinates[0], longitude: result.toLoc.coordinates[1]});
console.log(' To Distance is ',toDistance);
if (toDistance <= 1000)
{
jsonResultData.finalMatchDriverList.push(result);
}
}
});
// Want to continue with logic further here over jsonResultData
console.log ('jsonResultData.finalMatchDriverList.length',jsonResultData.finalMatchDriverList.length );
}
问题: - 我想遍历每个文档并在循环之后我想继续我的代码。 希望这个必须有解决方案。 仅需要一些指导。
我不熟悉MongoDB并且不能判断是否有更好的方法(可能有)但是根据你的描述,这可能是你想要的:
function update (){
var results = [];
function doThisAfterwards() {
// you can access results here;
}
var resultCursor = dbCollection.find();
resultCursor.each(function(err, result) {
if(result) {
// do what you want
results.push(result);
}
else {
doThisAfterwards();
}
);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.