【问题标题】:i got MongooseError: Operation `users.insertOne()` buffering timed out after 10000ms我得到 MongooseError:操作 `users.insertOne()` 缓冲在 10000 毫秒后超时
【发布时间】:2023-02-26 18:35:06
【问题描述】:

我正在尝试将 node.js 与 mongodb 连接起来。但不幸的是我遇到了这个错误,无法在 mongoDb 指南针中存储信息

这是我的 db.js

const mongoose = require('mongoose');
const mongoURI = 'mongodb://localhost:27017/';

const connectToMongo=()=>{
    mongoose.connect(mongoURI, ()=>{
        console.log("connected to mongo successfully");
    })
}

module.exports = connectToMongo;

这是 git 中的完整错误


(node:19636) [MONGOOSE] DeprecationWarning: Mongoose: the `strictQuery` option will be switched back to `false` by default in Mongoose 7. Use `mongoose.set('strictQuery', false);` if you want to prepare for this change. Or use `mongoose.set('strictQuery', true);` to suppress this warning.
          const err = new MongooseError(message);                      ^

MongooseError: Operation `users.insertOne()` buffering timed out after 10000ms
    at Timeout.<anonymous> (C:\Users\HARSH\OneDrive\Desktop\iNotebook\inotebook\backend\node_modules\mongoose\lib\drivers\node-mongodb-native\collection.js:175:23)
    at listOnTimeout (node:internal/timers:564:17)
    at process.processTimers (node:internal/timers:507:7)
Node.js v19.3.0
[nodemon] app crashed - waiting for file changes before starting...

【问题讨论】:

标签: node.js mongodb


【解决方案1】:

错误消息表明操作 users.insertOne() 在 10000 毫秒后超时,这导致应用程序崩溃。这表明与 MongoDB 的连接未正确建立或花费的时间太长。

以下是您可以尝试解决问题的一些方法:

1.确保 MongoDB 正在运行:确保 MongoDB 服务器正在运行并且可以通过指定的 URI mongodb://localhost:27017/ 访问。您可以通过打开 MongoDB Compass 并验证您是否可以连接到数据库来检查这一点。

2.增加超时时间:您可以尝试通过将选项对象传递给 mongoose.connect() 来增加数据库连接的超时时间。例如,您可以将 connectTimeoutMS 属性设置为更高的值,如 30000(30 秒),以便为建立连接提供更多时间:

const connectToMongo=()=>{
  mongoose.connect(mongoURI, { connectTimeoutMS: 30000 }, ()=>{
    console.log("connected to mongo successfully");
  })
}

3.检查错误:监听猫鼬实例发出的错误以帮助诊断问题。您可以向 mongoose.connection 对象添加回调以记录任何错误:

mongoose.connection.on('error', (err) => {
  console.error('MongoDB connection error:', err);
});

这应该为您提供有关问题原因的更多信息。

4. 检查用户模型架构:如果您尝试将数据插入用户集合,请确保用户模型的架构与您尝试插入的数据的结构相匹配。架构和数据之间的不匹配会导致插入操作失败。

我希望这可以帮助您解决问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 2021-10-15
    • 2021-11-15
    • 2021-12-08
    • 2021-04-01
    • 2021-06-30
    相关资源
    最近更新 更多