Passport JS 不会将新模式保存到数据库?
Passport JS won't save new schema to DB?
我正在尝试使用 passport.js 和 Google 策略来授权用户使用我正在构建的 Web 应用程序。然后我想使用 mongoose 将用户存储在 MongoDB 中。
// Use the GoogleStrategy within Passport.
// Strategies in passport require a `verify` function, which accept
// credentials (in this case, a token, tokenSecret, and Google profile), and
// invoke a callback with a user object.
passport.use(
new GoogleStrategy({
clientID: keys.google.clientID,
clientSecret: keys.google.clientSecret,
callbackURL: '/google/redirect'
}, (accessToken, refreshToken, profile, done) => {
console.log(profile);
console.log(profile.displayName);
console.log(profile.id);
new Models.User({
username: profile.displayName,
googleID: profile.id,
memberOf: null
//console.log('got this far');
}).save(console.log('got to the save')).then((newUser) => {
console.log(newUser+'was created');
});
console.log('came down here');
})
)
这是我对 passport 和 mongoose 的实现。从 Google 获得配置文件后,我将尝试将该用户的 displayName 和 googleID 存储在我要保存到我的数据库的 User schema 中。我不确定我做错了什么但是当我 运行 这个程序时我看到 all console.log 输出到终端 **except**
对于 .then()
中的 console.log(newUser+'was created');
我希望有人能帮我解决这个问题。
更新:尝试在您的 mongoose.connect()
方法中添加一个错误处理程序,以便您可以查看您的应用程序是否成功连接到您的数据库。这就是我的问题。
我正在尝试使用 passport.js 和 Google 策略来授权用户使用我正在构建的 Web 应用程序。然后我想使用 mongoose 将用户存储在 MongoDB 中。
// Use the GoogleStrategy within Passport.
// Strategies in passport require a `verify` function, which accept
// credentials (in this case, a token, tokenSecret, and Google profile), and
// invoke a callback with a user object.
passport.use(
new GoogleStrategy({
clientID: keys.google.clientID,
clientSecret: keys.google.clientSecret,
callbackURL: '/google/redirect'
}, (accessToken, refreshToken, profile, done) => {
console.log(profile);
console.log(profile.displayName);
console.log(profile.id);
new Models.User({
username: profile.displayName,
googleID: profile.id,
memberOf: null
//console.log('got this far');
}).save(console.log('got to the save')).then((newUser) => {
console.log(newUser+'was created');
});
console.log('came down here');
})
)
这是我对 passport 和 mongoose 的实现。从 Google 获得配置文件后,我将尝试将该用户的 displayName 和 googleID 存储在我要保存到我的数据库的 User schema 中。我不确定我做错了什么但是当我 运行 这个程序时我看到 all console.log 输出到终端 **except**
对于 .then()
中的 console.log(newUser+'was created');
我希望有人能帮我解决这个问题。
更新:尝试在您的 mongoose.connect()
方法中添加一个错误处理程序,以便您可以查看您的应用程序是否成功连接到您的数据库。这就是我的问题。