簡體   English   中英

Node.js如何在for或foreach中從MongoDB中進行選擇?

[英]Node.js how to select from MongoDB inside a for or foreach?

我有以下代碼:

result.rides.forEach(function(ride) {
      var query = {
        "by.phone": req.body.myPhone,
        "inRide": ride["_id"].toString(),
      };
      db.offers.findOne(query, function(err, docs) {
        if (docs) {
          ride.offered = true;
        }
      });
    });

現在,我想在forEach的末尾返回result.rides,該怎么做?

將每個迭代到它自己的awaitable ,等待他們全部完成如

async func() {
  const queries = result.rides.map(r =>
    new Promise(async (resolve, reject) => {
      try {
        const query = {
          'by.phone': req.body.myPhone,
          'inRide': r._id.toString()
        };
        const docs = await db.offers(query);
        if (docs) {
          r.offered = true;
        }
        return resolve();
      } catch (e) {
        return reject(e);
      }
    })
  );
  await Promise.all(queries);
  // do something with rides
}

當連接到 MongoDB Atlas

[英]How can I get a substring of the strings returned from a foreach loop in Node.js when connected to MongoDB Atlas

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM