は以前、私は私のUserSchemaは次のように定義されていました:「ゲッター」のように動くマングース「セッター」? MongoDBのとNode.jsの</p> <p>でマングースを使用して
var UserSchema = new Schema({
username: { type: String, unique: true },
password: String,
email: { type: Email, unique: true, validate:/^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ }
});
は私のユーザーが作成されたとき、私はパスワードを暗号化されました。それから私は「setters」を知ったと、私はこれに私のUserSchemaを変更:私は他の変更を行っていない(私が覚えていること)とユーザーでログインしようとしたとき、私は私のパスワードがあることを発見した
var UserSchema = new Schema({
username: { type: String, unique: true },
password: { type:String, set:encryption.Encrypt },
email: { type: Email, unique: true, validate:/^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ }
});
違う。データを見ると、データベースから戻された暗号化されたパスワードは、データベースに格納されたものとは異なります。私のUserSchemaから "セッター"を取り出したら、それは正しいように見えます。
さてこれで私の問題は「セッター」がこのように説明されていることである:あなたが上見ることができるように
、セッターはあなたが 前にデータを変換することができ、それは、生のMongoDBドキュメントに取得し、設定されています実際の キーの値として使用します。
私にとって、このセッターは実際にゲッターのように働き、データをデータベースから元の状態に戻しているように見えます。
私はこれを完全に誤解していますか?
で修正されたマングースのバグでした生の文章帳)? –