MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

वादा अस्वीकृति को हल करने और प्रतिक्रिया के रूप में सरणी भेजने में असमर्थ

result.forEach वादों की श्रृंखला लौटाता है। आपको Promise.all([]) . का उपयोग करके एक साथ सभी को प्रॉमिस करना होगा

exports.get_users = (req, res) => {
  SubscriptionPlan.find().then(async (result) => {
    if (!result) {
      return res.status(400).json({ message: "unable to process" });
    }
    let modifiedData = [];
    await Promise.all(
      result.map(async(data) => {
        if (data.processStatus === "active") {
          const response = await Users.findById(data.userId);
          modifiedData.push(response);
        }
      })
    );
    return res.json(modifiedData);
  }).catch((err) => console.log(err));
};

या एक बार में ढूंढ सकते हैं

exports.get_users = async (req, res) => {
  try {
    const result = await SubscriptionPlan.find({ processStatus: "active" });
    if (!result) {
      return res.status(400).json({ message: "unable to process" });
    }
    const ids = result.map(({ userId }) => userId);
    const response = await Users.find({ userId: { $in: ids } });
    return res.json(response);
  } catch (err) {
    console.log(err)
    return res.status(400).json({ message: "unable to process" });
  }
};



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी बीएसओएन को डिसेरिएलाइज़ करना

  2. सी # आधिकारिक ड्राइवर का उपयोग करके शून्य मूल्य के साथ बीएसओएन दस्तावेज़ कैसे बनाएं?

  3. mongodb . में $sum के साथ योग करें

  4. MongoEngine में ListField में एंबेडेड दस्तावेज़ पर परमाणु अद्यतन कैसे करें?

  5. मोंगोडीबी इंसर्टबैच जॉब्जेक्ट - क्रमांकन त्रुटि