2017-08-16 1 views
0

Je construis le projet en utilisant la pile moyenne. J'insère l'enregistrement en utilisant le facteur mais j'ai une erreur, j'essaie de résoudre beaucoup de temps mais de ne pas trouver où est une erreur.Les données ne sont pas insérées dans mongodb, cela donne aucune erreur de réponse dans le facteur

Postman error

Ce modèles est la file.which est montre les détails userSchema. Modèles -> 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); 
     }); 
    }); 
} 

Ceci est le fichier de routes. Ici, le routeur des affichages de registre, définissent également les résultats d'état d'utilisateur supplémentaires qui peuvent être montrés si la valeur de postier est insérée dans mongo puis avec succès un autre message non réussi. Routes -> 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; 
+0

POSTMAN Erreur: - N'a pu obtenir aucune réponse. – user3156153

Répondre

0

Vous envoyez la demande à tort de Postman. Vous ne devriez pas utiliser x-www-form-urlencoded. Utilisez l'option Raw à l'envoyer comme un objet JSON, comme ceci:

{ 
    "name": "Mark Melton", 
    "email": "[email protected]", 
    "username": "shuta", 
    "password": "Sunala123" 
} 

Voici comment cela fonctionne, parce que dans vos itinéraires, vous utilisez req.body ...