Mongooseを使用しているため、1つのオプションは、電子メール文字列を_id
として使用することです。 フィールドを追加してから、仮想フィールド
を追加します。 名前付きemail
_id
を返します 電子メールを使用するコードをクリーンアップします。
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);
});
MongooseドキュメントをプレーンなJSオブジェクトまたはJSON文字列に変換する場合、デフォルトでは仮想フィールドは含まれないことに注意してください。これを含めるには、virtuals: true
を設定する必要があります toObject()
のオプション
またはtoJSON()
電話:
var obj = doc.toObject({ virtuals: true });
var json = doc.toJSON({ virtuals: true });