sql >> Database >  >> NoSQL >> MongoDB

Node.JS wacht op instelling van variabele

U moet overschakelen van callbacks naar Promises of Async/Await, waarbij de laatste een stuk gemakkelijker te lezen is:

async function retrieveValue(sort_order) {
    if (sort_order === undefined) {
        const db = await MongoClient.connect(dbUrl);
        const dbo = db.db("HIDDEN");
        const data = await dbo.collection("HIDDEN").findOne({}, {"sort": { sort_order: -1 }});
        return data.sort_order + 1;
      };
    return sort_order;
  }

EDIT (met try-catch-blok):

 async function retrieveValue(sort_order) {
         try {
            if (sort_order === undefined) {
                const db = await MongoClient.connect(dbUrl);
                const dbo = db.db("HIDDEN");
                const data = await dbo.collection("HIDDEN").findOne({}, {"sort": { sort_order: -1 }});
                return data.sort_order + 1;
            }
         } catch (error) {
             console.log(error);
         }
    return sort_order;
  }

Je markeert de functie in feite als async wanneer u het definieert en wanneer u een Promise verwacht , markeer je het met await zodat het op uw gegevens 'wacht'.




  1. Mongoose-schema:uniek veld valideren, niet hoofdlettergevoelig

  2. Voeg een nieuw attribuut toe aan een bestaand json-object in node.js

  3. Modelattribuut bevat verzameling van object

  4. Kan TXT-record voor host Cluster0-XXXXX.mongodb.net niet opzoeken