1

以前の質問Illegal break statement (Node.js)からの提案に基づいて、実装async.whilst()しましたが、複数回反復していません。

ID の末尾の数字をインクリメントし、Mongo にクエリを実行してその ID が存在するかどうかを確認することで、一意の ID を見つけようとしています。存在しない場合は、一意の ID が見つかります。一意が見つかるまでではなく、1 回だけループします。なにが問題ですか?

コード:

 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);
   }
);
4

2 に答える 2