Da du bruger Mongoose, er en mulighed at bruge e-mail-strengen som _id
felt og derefter tilføje et virtuelt felt
navngivet email
der returnerer _id
for at rydde op i koden, der bruger e-mailen.
var userSchema = new Schema({
_id: {type: String},
passwordHash: {type: String},
roles: {type: [String]}
});
userSchema.virtual('email').get(function() {
return this._id;
});
var User = mongoose.model('User', userSchema);
User.findOne(function(err, doc) {
console.log(doc.email);
});
Bemærk, at et virtuelt felt ikke er inkluderet som standard, når et Mongoose-dokument konverteres til et almindeligt JS-objekt eller JSON-streng. For at inkludere det skal du indstille virtuals: true
mulighed i toObject()
eller toJSON()
ring:
var obj = doc.toObject({ virtuals: true });
var json = doc.toJSON({ virtuals: true });