2017-07-28 5 views
0

私の目標 - > csvからデータを取り出してデータベースにダンプするスクリプトを作成します。だから、私はすべてのデータを消去せずに(またはすべてを書き込まずに)データベースに正しく終了するプロセスを手に入れることができないという点を除いて、すべてが機能しているようです。Node.js、Mongodb、Monk、PapaParse、Bluebird、DBは更新されません

db.then((db) => { 
    console.log('connected to db'); 
    const creators = db.get('creators'); 

    let files = fs.readdirAsync(folder) 
    .catch(err => { 
     exitOnErr(err, 'error reading directory'); 
    }) 
    .map(filename => { 
     return processFile(filename) 
     .then(content => { 
      return Papa.parsePromise(content); 
     }) 
     .then(results => { 
      db_add(results, creators); 
     }); 
    }) 
    .then(() => { 
     console.log('Completed parsing files..'); 
     /* close db and exit the process -> if I do this here, 
      then everything exits without doing anything, but if 
      I let the process keep running, then the database 
      gets properly updated */ 
    }); 
}).catch((err) => { 
    exitOnErr(err, 'error connecting to db'); 
}); 

ここで、データベースを閉じてプロセスを終了する適切な場所はありますか?ここに約束の仕組みにどこに合うかを調べることができない。

答えて

0

更新されたコード:

db.then((db) => { 
    console.log('connected to db'); 
    const creators = db.get('creators'); 

    return fs.readdirAsync(folder) 
    .catch(err => { 
     exitOnErr(err, 'error reading directory'); 
    }) 
    .map(filename => { 
     return processFile(filename) 
     .then(content => { 
      return Papa.parsePromise(content); 
     }) 
     .then(results => { 
      return db_add(results, creators); 
     }); 
    }); 
}).catch((err) => { 
    exitOnErr(err, 'error connecting to db'); 
}).then(() => { 
    console.log('Completed parsing files...'); 
    closeAndExit(0); 
}); 

チェーンの約束を正しく返さなかった。

関連する問題