首页 > 解决方案 > 数据未在 mongodb 上发布

问题描述

大家好,希望你们一切都好.....我正在研究 mongodb。我正在尝试通过从 node.js 向 mongodb 发送 post 请求来从 mongodb 连接。.....我已成功连接到 mongodb,但我无法在我的 mongodb 集合中发布数据.....这是我的发布请求代码

const mongoose = require('mongoose');
const User = require('../DB/User');
const route = express.Router();

route.post('/', async (req, res) => {
  const { firstName, lastName } = req.body;
  let user = {};
  user.firstName = firstName;
  user.lastName = lastName;
  let userModel = new User(user);
  await userModel.save();
  res.json(userModel);
});

module.exports = route;

谁能帮我解决这个问题?

标签: node.jsmongodb

解决方案


在你可以向 MongoDb 发送请求之前,你应该初始化它:

import { connect } from 'mongoose'; // MongoDB ORM
connect(conf.db[conf.env], {
  useNewUrlParser: true,
  useUnifiedTopology: true,
  useFindAndModify: false,
  useCreateIndex: true,
})
  .then(() => console.log(`connected to ${conf.db[conf.env]}`))

不得不说上面的代码是用 ES6 写的,如果不使用需要设置 Babel 或者使用旧的代码风格:

const mongoose = require('mongoose');
mongoose.connect('url/of/your/db', {
{
  useNewUrlParser: true,
  useUnifiedTopology: true,
  useFindAndModify: false,
  useCreateIndex: true,
}, function (error) {
  if (error) { // do sth with error
  }
  console.log('connenter code hereected successfully');
}

推荐阅读