简体   繁体   English

MongoDB insertOne() 缓冲在 10000 毫秒后超时

[英]MongoDB insertOne() buffering timed out after 10000ms

I am trying to use 'POST' to create a new movie data with using MongoDB.我正在尝试使用“POST”通过 MongoDB 创建新的电影数据。 but when I use 'postman' to post my data it kepts saying like this但是当我使用“邮递员”发布我的数据时,它一直这样说

{"message":"Operation movies.insertOne() buffering timed out after 10000ms"} {"message":"操作movies.insertOne()缓冲在 10000 毫秒后超时"}

I will post three javascript files please let me know about my problem.我将发布三个 javascript 文件,请让我知道我的问题。

First: index Second: movie(module) Third: routes第一个:索引第二个:电影(模块)第三个:路由

const router = express.Router();
const Movie = require('./models/movie');
//Fetch all movies
router.get("/movies", async (req, res) => {
  try {
    const movies = await Movie.find();
    res.send(movies) 
  } catch(err) {
    return res.status(500).json({message: err.message});
  }
})
// Add movie
router.post("/movies", async (req, res) => {
  const movie = new Movie({
    title: req.body.title,
    director: req.body.director,
    year: req.body.year
  });

  try {
    const newMovie = await movie.save();
    res.status(201).json({ newMovie });
  } catch(err) {
    return res.status(500).json({ message: err.message });
  }
})
module.exports = router;
//from here is Movie.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var MovieSchema = new Schema(
  {
    title: {type: String, required: true, maxlength: 150},
    director: {type: String, required: true, maxlength: 200},
    year: {type: Number, required: true}
  }
);
//Export model
module.exports = mongoose.model('Movie', MovieSchema);
// from here is routes.js
const express = require('express');
const router = express.Router();
const Movie = require('./models/movie');
//Fetch all movies
router.get("/movies", async (req, res) => {
  try {
    const movies = await Movie.find();
    res.send(movies) 
  } catch(err) {
    return res.status(500).json({message: err.message});
  }
})
// Add movie
router.post("/movies", async (req, res) => {
  const movie = new Movie({
    title: req.body.title,
    director: req.body.director,
    year: req.body.year
  });
  try {
    const newMovie = await movie.save();
    res.status(201).json({ newMovie });
  } catch(err) {
    return res.status(500).json({ message: err.message });
  }
})
enter code here

module.exports = router;

I feel this is so hard to understand lol我觉得这很难理解大声笑

Try to refactor your code like this:尝试像这样重构您的代码:

router.post("/movies", async (req, res) => {
  try {
    let newMovie  = await Movie.create(req.body);
    res.status(201).json(newMovie);
  } catch(err) {
    return res.status(500).json({ message: err.message });
  }
})

In the provided code I don't see you that you are connecting to the database using mongoose.connect for example:在提供的代码中,我看不到您正在使用mongoose.connect连接到数据库,例如:

mongoose.connect('mongodb://localhost/test', {useNewUrlParser: true, useUnifiedTopology: true});

Link for the docs.文档链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 MongooseError:操作 .insertOne() 缓冲在 10000 毫秒后超时 - MongooseError: Operation `.insertOne()` buffering timed out after 10000ms 来自 MongoDB 的错误消息“操作 `disneys.insertOne()` 缓冲在 10000 毫秒后超时”” - Error Message from MongoDB "Operation `disneys.insertOne()` buffering timed out after 10000ms"" 操作 `users.insertOne()` 缓冲在 10000 毫秒后超时,Node.js,MongooseError - Operation `users.insertOne()` buffering timed out after 10000ms in, Node.js, MongooseError MongooseError:操作 `users.insertOne()` 缓冲在 10000 毫秒后超时 - MongooseError: Operation `users.insertOne()` buffering timed out after 10000ms MongooseError:操作“fruits.insertOne()”缓冲在 10000 毫秒后超时 - MongooseError: Operation 'fruits.insertOne()' buffering timed out after 10000ms “消息”:“errorMongooseError:操作 `userinfos.insertOne()` 缓冲在 10000 毫秒后超时” - "message": "errorMongooseError: Operation `userinfos.insertOne()` buffering timed out after 10000ms" “错误:MongooseError:操作 `users.insertOne()` 缓冲在 10000 毫秒后超时”, - "Error: MongooseError: Operation `users.insertOne()` buffering timed out after 10000ms", mongooseError:操作 `chatbots.findOne()` 缓冲在超时 10000 毫秒后超时。<anonymous></anonymous> - mongooseError: Operation `chatbots.findOne()` buffering timed out after 10000ms at Timeout.<anonymous> MongooseError:操作“featureds.find()”缓冲在 10000 毫秒后超时 - MongooseError: Operation 'featureds.find()` buffering timed out after 10000ms 无法获得响应,显示操作 users.findOne() 缓冲在 10000 毫秒后超时 - Not able to get response , showing Operation `users.findOne()` buffering timed out after 10000ms`
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM