[英]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.