const err = new MongooseError(消息);

Tun*_*son 9 javascript mongoose node.js

我正在尝试创建一个项目,允许用户输入“电子邮件”、“用户名”和“密码”来注册该网站,当我尝试使用“用户名”、“电子邮件”和“密码”输入用户时进入该网站,出现以下错误:

Backend server is running
not connected
C:\Users\odewo\chat-app\NODE-REST-API\node_modules\mongoose\lib\drivers\node-mongodb-native\collection.js:149
          const err = new MongooseError(message);
                      ^

MongooseError: Operation `users.insertOne()` buffering timed out after 10000ms
    at Timeout.<anonymous> (C:\Users\odewo\chat-app\NODE-REST-API\node_modules\mongoose\lib\drivers\node-mongodb-native\collection.js:149:23)
    at listOnTimeout (node:internal/timers:557:17)
    at processTimers (node:internal/timers:500:7)
Run Code Online (Sandbox Code Playgroud)

下面是我的猫鼬代码:

mongoose.connect(process.env.MONGO_URL, {
  userNewUrlPaser: true,
  useUnifiedTopology: true,
  useCreateIndex: true,
})
  .then(() => {
    console.log('Connected to MongoDB');
  })
  .catch((e) => {
    console.log('not connected');
  });
Run Code Online (Sandbox Code Playgroud)

这是路由的 auth.js 代码:

const router = require('express').Router();
const User = require('../models/User');

//  REGISTER
router.get('/register', async (req, res) => {
  const user = await new User({
    username: 'samson',
    email: 'samson@gmail.com',
    password: '123456',
  });

  await user.save();
  res.send('ok');
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud)

我非常感谢你的帮助

小智 0

您应该在新的 User 声明之前删除等待,仅当您等待承诺的结果时使用等待,如下所示await user.save()