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');
    })
)

这是我对 passportmongoose 的实现。从 Google 获得配置文件后,我将尝试将该用户的 displayName 和 googleID 存储在我要保存到我的数据库的 User schema 中。我不确定我做错了什么但是当我 运行 这个程序时我看到 all console.log 输出到终端 **except** 对于 .then() 中的 console.log(newUser+'was created'); 我希望有人能帮我解决这个问题。

更新:尝试在您的 mongoose.connect() 方法中添加一个错误处理程序,以便您可以查看您的应用程序是否成功连接到您的数据库。这就是我的问题。