繁体   English   中英

数据未使用node.js插入mongodb

[英]data is not inserting into mongodb using node.js

你好,我是nodejs的新手,正在尝试将数据插入到mongodb中,但是没有插入,并且没有错误显示,并且在页面提交中说“ Can not POST / crud”,任何参考或建议来解决(记住没有错误显示) )

模式(Crud.js):

   const mongoose = require('mongoose');
   mongoose.connect('mongodb://localhost/node_web', {useNewUrlParser: true});

   var crudSchema = new mongoose.Schema({
      crud_name: {
         type: String
      },
      crud_email: {
         type: String
      },
      crud_mobile: {
         type: String
      }
  });

  mongoose.model('Crud', crudSchema );

create.ejs:

   <form method="POST" action="/crud">
     <div class="form-group">
        <label for="inputAddress">Name</label>
        <input type="text" name="crud_name" class="form-control" id="inputAddress" placeholder="Enter your name">
     </div>
     <div class="form-group">
        <label for="inputAddress">Email</label>
        <input type="email" name="crud_email" class="form-control" id="inputAddress" placeholder="Enter your email">
     </div>
     <div class="form-group">
        <label for="inputAddress">Mobile</label>
        <input type="number" name="crud_mobile" class="form-control" id="inputAddress" placeholder="Enter your mobile">
     </div>
     <button type="submit" class="btn btn-primary">Submit</button>
   </form>

控制器:

    const express = require('express');
    var router = express.Router();
    const mongoose = require('mongoose');
    const Crud = mongoose.model('Crud');

    router.get('/',(req, res) => {
      res.render("crud", {crud : new Crud(), newCrud : true});
    });

    router.post('/', (req, res) => {
       if (true)
          insertRecord(req, res);
    });

    function insertRecord(req, res) {
        var crud = new Crud();
        crud.crud_name = req.body.crud_name;
        crud.crud_email = req.body.crud_email;
        crud.crud_mobile = req.body.crud_mobile;
        // Save methods
        crud.save((err, doc) => {
          if (!err)
             res.redirect('crud');
          else {
            console.log('Error during record insertions : ' + err);
          }
      });  
    }

db已成功连接:

  var mongoose = require('mongoose');
  mongoose.connect('mongodb://localhost/node_web', {useNewUrlParser: true});

  var db = mongoose.connection;
  db.on('error', console.error.bind(console, 'connection error:'));
  db.once('open', function(err) {
  if (err) throw err;
     console.log('Successfully connected');
  });

在您的控制器中,您应该通过指定以下网址来获得发布请求:

router.post('/crud', (req, res) => {
// Rest of the method..

});

创建一个app.js文件并将其添加到此处

const crudRoutes = require('./crudRoutes');
app.use('/crud',crudRoutes);

创建一个路由文件并执行以下操作

const express = require('express');
const crudController = require('./crudController')
const router = express.Router();
router.post('/crud', crudController.crud_process)
module.exports = router

在控制器文件中

 const mongoose = require('mongoose');
 const Crud = require('./crudModel') // ur schema file
 exports.crud_process = (req, res, next) => {
    // ur query 
  })

完整的细节ü可以检查我在这里的项目之一,我这样做是为了研究目的nodejsapiproject

const express = require('express');
    var router = express.Router();
    const mongoose = require('mongoose');
    const Crud = mongoose.model('Crud');

    router.get('/',(req, res) => {
      res.render("crud", {crud : new Crud(), newCrud : true});
    });

    router.post('/', (req, res) => {
       if (true)
          insertRecord(req, res);
    });

    function insertRecord(req, res) {
        var crud = new Crud({
          crud_name:req.body.crud_name,
          crud_email : req.body.crud_email,
          crud_mobile : req.body.crud_mobile
});

        // Save methods
        crud.save((err, doc) => {
          if (!err)
             res.redirect('crud');
          else {
            console.log('Error during record insertions : ' + err);
          }
      });  
    }

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM