オブジェクトのストリームを取り、それらをmongodbデータベースに入力する書き込み可能なストリームをコーディングしようとしています。オブジェクトのストリームを消費する前に、最初にデータベース接続が確立されるのを待つ必要がありますが、プログラムが挿入部分に到達しないため、何か間違っているようです。
// ./mongowriter.js
let mongo = mongodb.MongoClient,
connectToDb = _.wrapCallback(mongo.connect);
export default url => _.pipeline(s => {
return connectToDb(url).flatMap(db => {
console.log('Connection established!');
return s.flatMap(x => /* insert x into db */);
});
});
....
// Usage in other file
import mongowriter from './mongowriter.js';
let objStream = _([/* json objects */]);
objStream.pipe(mongoWriter);
プログラムは「接続が確立されました!」なしで終了します。コンソールに書き込まれます。
私は何が欠けていますか?私が従うべきイディオムはありますか?