.insertMany() 花费太长时间/不返回承诺?

时间:2021-06-18 10:15:05

标签: javascript node.js mongodb server backend

嘿,在学习本教程 https://youtu.be/TRCDsB9i3bI 并尝试让 mongoDB 工作时,我遇到了这个问题。我正在尝试在 http://localhost:5000/api/users/seed 的后端设置 API,以便使用此代码访问数据库以向其发送数据。

import express from 'express'
import expressAsyncHandler from 'express-async-handler'
import data from '../data.js'
import User from '../models/userModel.js'

const userRouter = express.Router()

userRouter.get(
    '/seed', 
    expressAsyncHandler(async (req,res) =>{
        
            await User.remove({});
            const createdUsers = await User.insertMany(data.users)
            res.send({createdUsers})
        
}))

export default userRouter;

但是我在服务器上收到此错误:

"Operation `users.remove()` buffering timed out after 10000ms"

这是我在终端中得到的:

(node:9110) UnhandledPromiseRejectionWarning: MongooseServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017
    at NativeConnection.Connection.openUri (/Users/charlielamb/Desktop/learnCode/amazona/node_modules/mongoose/lib/connection.js:846:32)
    at /Users/charlielamb/Desktop/learnCode/amazona/node_modules/mongoose/lib/index.js:351:10
    at /Users/charlielamb/Desktop/learnCode/amazona/node_modules/mongoose/lib/helpers/promiseOrCallback.js:32:5
    at new Promise (<anonymous>)
    at promiseOrCallback (/Users/charlielamb/Desktop/learnCode/amazona/node_modules/mongoose/lib/helpers/promiseOrCallback.js:31:10)
    at Mongoose._promiseOrCallback (/Users/charlielamb/Desktop/learnCode/amazona/node_modules/mongoose/lib/index.js:1149:10)
    at Mongoose.connect (/Users/charlielamb/Desktop/learnCode/amazona/node_modules/mongoose/lib/index.js:350:20)
    at file:///Users/charlielamb/Desktop/learnCode/amazona/backend/server.js:8:10
    at ModuleJob.run (internal/modules/esm/module_job.js:152:23)
    at async Loader.import (internal/modules/esm/loader.js:177:24)
    at async Object.loadESM (internal/process/esm_loader.js:68:5)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:9110) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:9110) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

有没有人对我如何解决这个问题有任何建议,因为似乎没有其他遵循教程的人遇到和我一样的问题。

谢谢

0 个答案:

没有答案