数据未插入 mongodb,它在邮递员中给出了无法获得任何响应错误
Data are not inserted in mongodb, it gives could not get any response error in postman
我使用平均堆栈构建项目。我使用邮递员插入记录但出现一个错误,我尝试解决很多时间但没有找到错误的地方。
Postman error
这是模型 user.js file.which 是显示 userSchema 的详细信息。
型号 -> user.js
var mongoose = require('mongoose');
var bcrypt = require('bcryptjs');
var config = require('../config/database');
// User Schema
var UserSchema = mongoose.Schema({
name: {
type: String,
},
email: {
type: String,
required: true
},
username: {
type: String,
required: true
},
password: {
type: String,
required: true
}
});
var User = module.exports = mongoose.model('User', UserSchema);
module.exports.getUserById = function(id, callback){
User.findById(id, callback);
}
module.exports.getUserByUsername = function(username, callback){
var query = {username: username}
User.findOne(query, callback);
}
module.exports.addUser = function(newUser, callback){
bcrypt.genSalt(10, (err, salt) => {
bcrypt.hash(newUser.password, salt, (err, hash) => {
if(err) throw err;
newUSer.password = hash;
newUser.save(callback);
});
});
}
这是路由 user.js 文件。此处显示寄存器路由器,还定义添加用户状态结果,如果在 mongo 中插入邮递员值,则可以显示该结果,然后成功显示另一条明智的不成功消息。
路线 -> users.js
var express = require('express');
var router = express.Router();
var password = require('passport');
var jwt = require('jsonwebtoken');
var User = require('../models/user');
// Register
router.post('/register', function(req, res, next){
let newUser = new User({
name: req.body.name,
email: req.body.email,
username: req.body.username,
password: req.body.password
});
User.addUser(newUser, (err, user) => {
if(err){
res.json({success: false, msg:'Failed to Register User'});
} else {
res.json({success: true, msg:'User Registered'});
}
});
});
// Authenticate
router.post('/authenticate', function(req, res, next){
res.send('Authenticate');
});
// Profile
router.get('/profile', function(req, res, next){
res.send('Profile');
});
module.exports = router;
您错误地从 Postman 发送了请求。您不应使用 x-www-form-urlencoded。在将其作为 json 对象发送时使用 Raw 选项,如下所示:
{
"name": "Mark Melton",
"email": "xyz@gmail.com",
"username": "shuta",
"password": "Sunala123"
}
这就是它的工作原理,因为在您的路线中,您正在使用 req.body...
我使用平均堆栈构建项目。我使用邮递员插入记录但出现一个错误,我尝试解决很多时间但没有找到错误的地方。
Postman error
这是模型 user.js file.which 是显示 userSchema 的详细信息。 型号 -> user.js
var mongoose = require('mongoose');
var bcrypt = require('bcryptjs');
var config = require('../config/database');
// User Schema
var UserSchema = mongoose.Schema({
name: {
type: String,
},
email: {
type: String,
required: true
},
username: {
type: String,
required: true
},
password: {
type: String,
required: true
}
});
var User = module.exports = mongoose.model('User', UserSchema);
module.exports.getUserById = function(id, callback){
User.findById(id, callback);
}
module.exports.getUserByUsername = function(username, callback){
var query = {username: username}
User.findOne(query, callback);
}
module.exports.addUser = function(newUser, callback){
bcrypt.genSalt(10, (err, salt) => {
bcrypt.hash(newUser.password, salt, (err, hash) => {
if(err) throw err;
newUSer.password = hash;
newUser.save(callback);
});
});
}
这是路由 user.js 文件。此处显示寄存器路由器,还定义添加用户状态结果,如果在 mongo 中插入邮递员值,则可以显示该结果,然后成功显示另一条明智的不成功消息。 路线 -> users.js
var express = require('express');
var router = express.Router();
var password = require('passport');
var jwt = require('jsonwebtoken');
var User = require('../models/user');
// Register
router.post('/register', function(req, res, next){
let newUser = new User({
name: req.body.name,
email: req.body.email,
username: req.body.username,
password: req.body.password
});
User.addUser(newUser, (err, user) => {
if(err){
res.json({success: false, msg:'Failed to Register User'});
} else {
res.json({success: true, msg:'User Registered'});
}
});
});
// Authenticate
router.post('/authenticate', function(req, res, next){
res.send('Authenticate');
});
// Profile
router.get('/profile', function(req, res, next){
res.send('Profile');
});
module.exports = router;
您错误地从 Postman 发送了请求。您不应使用 x-www-form-urlencoded。在将其作为 json 对象发送时使用 Raw 选项,如下所示:
{
"name": "Mark Melton",
"email": "xyz@gmail.com",
"username": "shuta",
"password": "Sunala123"
}
这就是它的工作原理,因为在您的路线中,您正在使用 req.body...