sql >> Database >  >> NoSQL >> MongoDB

Node.js en Passport Object hebben geen methode validPassword

Je gebruikt

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

maar je hebt validPassword niet gedefinieerd methode. Voeg het toe aan je schema:

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

BEWERKEN U hebt het schema ook onjuist gedefinieerd. Het zou moeten zijn:

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

Merk op dat zowel username en password moet String zijn typ objecten, geen strings "string" , als je begrijpt wat ik bedoel. :)



  1. Query polygonen $geowithin $box mongodb levert niets op

  2. Hoe sleutels atomair te verwijderen die overeenkomen met een patroon met Redis

  3. Zijn gegevens die worden geretourneerd door Mongoose onveranderlijk?

  4. Mongo Sorteren op aantal wedstrijden in array