私はexpressjs + mongoを学んでいます。ユーザーがSteamを介してパスポートでログインした後、彼のデータがデータベースに既に存在するかどうかを確認したいのですが、彼のレコードを作成する必要はありません。
このために、スキーマに静的メソッドを作成しました。残念ながら内部からのセーブはできません。
TypeError: オブジェクト # にはメソッド 'create' がありません
SteamAccountSchema.statics.checkAccount = function(identifier){
this.findOne({ 'identifier' : identifier }, function(err, account){
if(err) throw err;
console.log("Checking account:" + account)
if(account) {
console.log("user already in db")
return true
} else {
console.log("Creating new user account")
this.create({
name : 'username',
identifier: identifier
}, function(err){
if(err) throw err;
// if (err) return done(err);
return false
});
}
});
}