Koa.jsフレームワークとMongoose.jsモジュールを使用しています。
通常、MongoDB から結果を取得するには、次のようにコーディングします。
var res = yield db.collection.findOne({id: 'my-id-here'}).exec();
しかし、「items」という名前の配列のすべての要素に対してこの行を実行する必要があります。
items.forEach(function(item) {
var res = yield db.collection.findOne({id: item.id}).exec();
console.log(res) // undefined
});
しかし、yield が関数内にあるため、このコードは実行されません。これを書くと:
items.forEach(function *(item) {
var res = yield db.collection.findOne({id: item.id}).exec();
console.log(res) // undefined
});
res 変数でも結果が得られません。「 generator-foreach 」モジュールを使用しようとしましたが、このようには機能しませんでした。
これは、Node.js の言語リテラシーに関する私の知識不足であることは承知しています。しかし、これを行う方法を見つけるのを手伝ってもらえますか?