1
私はいくつかのフロントエンド技術を紹介する小さなプロジェクトを持っています。私はNode、Express、Pug、MongoDBを使用しています。マングースは正しいスキーマを保存していません
私はuser.jsファイル内のユーザーのスキーマを定義します。
var userSchema = mongoose.Schema({
username : String,
password : String,
jobs : [{ type: mongoose.Schema.Types.Mixed }]
});
その後、私のpassport.jsファイルに私がサインアッププロセスを開始します。
User.findOne({ 'username' : username }, function(err, user) {
// if there are any errors, return the error
if (err) {
console.log(err);
return done(err);
}
// check to see if theres already a user with that email
if (user) {
console.log('user exists');
return done(null, false, req.flash('signupMessage', 'That username is already taken.'));
} else {
console.log('creating new user...');
// if there is no user with that email
// create the user
var newUser = new User();
newUser.username = username;
newUser.password = newUser.generateHash(password);
newUser.jobs = [{ website: 'google.com' }];
// save the user
newUser.save(function(err) {
if (err) {
console.log(err);
throw err;
}
console.log('user saved: ', newUser);
return done(null, newUser);
});
}
});
としてポストが正常に新しいユーザーを保存します。私の目標は、ウェブサイトへのリンクは、そのユーザのために、アレイ内に押し込むことができるデータベースの配列を持つことである
{
"_id": {
"$oid": "5967d2acc64d953330a3ac32"
},
"__v": 0
}
。
ありがとうございます。その後、コンストラクタにすべてのパラメータを渡してユーザーを作成
var userSchema = mongoose.Schema({
local: { username : String, password : String },
jobs: [ { type: mongoose.Schema.Types.Mixed } ]
});
:
私はjobs配列の型を変更し、newUserの作成を変更しました。今私はUser.generateHashがインスタンスと静的関数の両方の関数ではないことに気付きました。 – klewis