sql >> Databasteknik >  >> NoSQL >> MongoDB

jag använder node.js löfte för att validera att antingen användarnamn finns i db eller inte

Mongoose är redan utlovat, så det här kommer att göra:

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

Ett löfte är asynkront så returnera bara löftet och den som ringer kommer att "vänta" på att det ska lösas och hantera felen.




  1. Kan inte deserialisera sträng från BsonType ObjectId i MongoDb C#

  2. Ska jag alltid använda pipelining när det finns mer än 1 kommando i Redis?

  3. Analysera data från databasen i PUG

  4. Vad är användningen av Jade eller Handlebars när du skriver AngularJs appar