首页 > 解决方案 > MongoDB数据库没有保存数据

问题描述

我试图将我的数据保存在 mongoDB 中,但是我遇到了一个问题,不保存我的数据总是运行错误情况。这是保存查询代码:

blog.save((err, data) => {
      if (err) {
        return res.status(400).json({
          error: "Error",
        });
      }
      res.json(data);
    });

这里总是运行 "error": "Error"

我不知道为什么不保存我的数据,总是 "error": "Error"在邮递员输出中显示此消息。

我已经尝试过这样的代码:

const Blog = require("../models/blog");
const Category = require("../models/category");
const Tag = require("../models/tags");
const formidable = require("formidable");
const slugify = require("slugify");
const { stripHtml } = require("string-strip-html");
const _ = require("lodash");
const { errorHandler } = require("../helpers/dbErrorHandler");
const fs = require("fs");

exports.create = (req, res) => {
  var form = new formidable.IncomingForm();
  form.keepExtensions = true;
  form.parse(req, (err, fields, files) => {
    if (err) {
      return res.status(400).json({
        error: "Image could not upload",
      });
    }
    const { title, body, categories, tags } = fields;

    // validation
    if (!title || !title.length) {
      return res.status(400).json({
        error: "title is required",
      });
    }

    if (!body || body.length < 10) {
      return res.status(400).json({
        error: "Content is too short",
      });
    }

    let blog = new Blog();
    blog.title = title;
    blog.body = body;
    blog.slug = slugify(title).toLowerCase();
    blog.mtitle = `${title} | ${process.env.APP_NAME}`;
    blog.mdesc = stripHtml(body.substring(0, 160));
    blog.postedBy = req.user._id;

    if (files.photo) {
      if (files.photo.size > 10000000) {
        return res.status(400).json({
          error: "Image should be less then 1mb in size",
        });
      }
      blog.photo.data = fs.readFileSync(files.photo.path);
      blog.photo.contentType = files.photo.type;
    }

    blog.save((err, data) => {
      if (err) {
        return res.status(400).json({
          error: "Error",
        });
      }
      res.json(data);
    });
  });
};

我检查了我的数据库连接是否正常,我也检查了我的架构也可以,

我之前有一步一步的检查

if (!body || body.length < 10) {
      return res.status(400).json({
        error: "Content is too short",
      });
    }

直到这段代码成功运行,但在那之后可能会出错。

请有任何建议。

标签: javascriptnode.jsreactjsmongodb

解决方案


推荐阅读