sql >> Database teknologi >  >> NoSQL >> MongoDB

Node.JS venter på at variabel indstilles

Du bør gå fra tilbagekald til Promises eller Async/Await, sidstnævnte er meget nemmere at læse:

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 (Med 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;
  }

Du markerer grundlæggende funktionen som async når du definerer det, og når som helst du forventer et Promise , markerer du det med await så den 'venter' på dine data.




  1. Spor MongoDB ydeevne?

  2. hvordan overføres variabler $tid, $id til rå funktion?

  3. Skift alle mine dokumenters indlejrede dokumentværdi

  4. TypeError:Kan ikke bruge 'in' operator til at søge efter '_id' i han