根据上一个问题Illegal break statement (Node.js)的建议,我实现async.whilst()
了,但它没有多次迭代。
我试图通过在 ID 末尾增加一个数字并查询 Mongo 以查看该 ID 是否存在来找到一个唯一 ID。如果不存在,则找到唯一 ID。它只循环一次,而不是直到找到一个唯一的。怎么了?
编码:
var uniqueNumber = 1;
var newUnique;
async.whilst(
function () {
var uniqueNum_string = uniqueNumber.toString();
newUnique = data.id + uniqueNum_string;
db.collection('landmarks').findOne({'id':newUnique}, function(err, data){
if (data){
console.log('entry found!');
return;
}
else {
console.log('entry not found!');
}
});
},
function (callback) {
uniqueNumber++;
},
function (err) {
saveLandmark(newUnique);
}
);