首页 > 解决方案 > MongooseError:操作 `products.insertOne()` 缓冲在 10000 毫秒后超时

问题描述

我正在使用有关使用 MongoDB 和猫鼬的 API 的 Youtube 教程。但是,每当我在 Postman 上发布某些内容时,我都会不断收到此错误。“MongooseError:操作products.insertOne()缓冲在 10000 毫秒后超时”

const { MongoClient } = require('mongodb');
const uri = "mongodb+srv://dusdn1102:" + process.env.MONGO_PW + "@node-rest-shop.wvxmj.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
client.connect(err => {
  const collection = client.db("test").collection("devices");
  client.close();
});

我使用的是 Visual Studio 代码 1.57.1​​,MongoDB 的版本是 4.4.10。请问有人可以帮我吗??

标签: node.jsmongodbapimongoose

解决方案


您需要使用 mongoose 创建与 MongoDB 的连接。首先将以下代码添加到您的 app.js 或 server.js。

const mongoose = require("mongoose");
const uri = "mongodb+srv://dusdn1102:" + process.env.MONGO_PW + "@node-rest-shop.wvxmj.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";
mongoose.connect(uri, {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});
const db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error: "));
db.once("open", function () {
  console.log("Connected successfully");
});

使用它打开一个连接,然后继续进行插入操作。


推荐阅读