MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Node.js i obiekt Passport nie mają metody validPassword

Używasz

if (!user.validPassword(password)) {
    return done(null, false, { message: 'Incorrect password.' });
}

ale nie zdefiniowałeś validPassword metoda. Dołącz go do swojego schematu:

var authSchema = mongoose.Schema({ 
    username: 'string',
    password: 'string'
});
authSchema.methods.validPassword = function( pwd ) {
    // EXAMPLE CODE!
    return ( this.password === pwd );
};

EDYTUJ Zdefiniowałeś również niepoprawnie schemat. Powinno być:

var authSchema = mongoose.Schema({ 
    username: String,
    password: String
});

Zwróć uwagę, że zarówno username i password powinien być String wpisz obiekty, a nie ciągi "string" , Jeśli wiesz co mam na myśli. :)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak mogę wykonać db.copyDatabase za pomocą natywnego sterownika NodeJS MongoDB?

  2. Warunek zapytania MongoDb przy porównaniu 2 pól

  3. Dokumenty MongoDB wygasają zbyt szybko (mongoose)

  4. Usuń MongoDBWiele()

  5. Zapytania C# mongo z ciągami json