sql >> Databáze >  >> NoSQL >> MongoDB

Používám příslib node.js pro ověření, zda uživatelské jméno existuje v db nebo ne

Mongoose je již přislíben, takže to bude stačit:

function findUser() {
  return User.findOne({ "username": req.body.username })
    .then(function(user) {
      if (user) {
        // user exists, you can throw an error if you want
        throw new Error('User already exists!');
      }

      // user doesn't exist, all is good in your case
    }, function(err) {
      // handle mongoose errors here if needed


      // rethrow an error so the caller knows about it
      throw new Error('Some Mongoose error happened!');
      // or throw err; if you want the caller to know exactly what happened
    });
}

findUser().then(function() {
  // user doesn't exist, do your stuff

}).catch(function(err) {
  // here, you'll have Mongoose errors or 'User already exists!' error
  console.log(err.message);
});

Příslib je asynchronní, takže stačí vrátit příslib a volající bude „čekat“, až bude vyřešen a zpracuje chyby.




  1. Získání nejvyšší hodnoty sloupce v MongoDB

  2. $fitler vnořené pole pomocí $lte $gte

  3. Zkontrolujte, zda dokument existuje v mongodb pomocí es7 async/await

  4. MongoDB fulltextové vyhledávání - odpovídající slova a přesné fráze