0

Node.js monk と MongoDB を使用して、テーブル結合を模倣したいと考えています。

  1. コレクション A を検索する
  2. 結果 X ごとに、コレクション B で検索を実行し、X を更新します。
  3. 結果の更新されたリストを返す

monk のデータベース コマンドの非同期性が問題を引き起こしています。これは私の初期コードです。findへの 2 番目の呼び出しがすぐに promise を返し、結果xsが更新される前に応答で送信されるため、機能しません。

var db = require('monk')('localhost/mydb');
db.get('collection').find({}, function(e,xs) {
  xs.forEach(function(x){
    coll_b.find({a_id:x._id}, function(e,bs) {
      a['bs'] = bs;
    });
  });
  res.json({'results':as});
});

ここでプロミスチェーンを使用する必要があるように感じますが、その方法がわかりません。どんな助けでも大歓迎です。

4

1 に答える 1