MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Node.JS чака променливата да бъде зададена

Трябва да преминете от обратни извиквания към Promises или Async/Await, като последното е много по-лесно за четене:

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

РЕДАКТИРАНЕ (С блок try-catch):

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

По принцип маркирате функцията като async когато го дефинирате и когато очаквате Promise , маркирате го с await така че да „чака“ вашите данни.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. db.createCollection не е функция

  2. Ръководство за разработчици за комплекти реплики на MongoDB

  3. Конфигурирайте и използвайте сървър за модел на mongodb за тестване на единици

  4. Намаляване на размера на файла на базата данни MongoDB

  5. Изпълнете MongoTemplate.aggregate без извличане на ред