Ich habe ein Konto mit mongolab(mlab)
. Ich versuche, Daten für die Benutzer mit postman
Add-on von Chrome-Browser zu veröffentlichen. Ich bekomme immer Fehler. Ich konnte keine Daten posten. Ich habe es mit anderen Wegen versucht. aber kein Glück.`mongolab` - Fehler auf Post, nicht in der Lage, eine Daten zu senden
jemand mir helfen, dieses Problem zu sortieren?
hier ist mein api.js
:
var
User = require('../models/user'),
config = require('../../config'),
secretKey = config.secretKey;
module.exports = function(app, express) {
var api = express.Router();
api.post('/signup', function (req, res) {
var user = new User({
name:req.body.name,
username:req.body.username,
password:req.body.password
});
user.save(function(err){
if(err){
res.send(err);
return;
}
res.json({message:'User has been Created!'});
});
});
api.get('/users', function(req, res) {
User.find({}, function(req, users){
if(err) {
res.send(err);
return;
}
res.json(users);
})
});
return api;
}
config.js
:
module.exports = {
"database":"mongodb://xxx:[email protected]:15700/arifstory",
"port" : process.env.PORT || 3000,
"secretKey" : "YourSecretKey"
}
Und die user.js
:
var
mongoose = require('mongoose'),
Schema = mongoose.Schema,
bcrypt = require('bcrypt-nodejs');
var UserSchema = new Schema({
name : String,
userName:{ type:String, required:true, index : { unique: true }},
password : { type:String, required : true, select : false }
});
UserSchema.pre('save', function(next) {
var user = this;
if(!user.isModified('password')) return next();
bcrypt.hash(user.password, null, null, function(err, hash) {
if(err) return next(err);
user.password = hash;
next();
});
});
UserSchema.methods.comparePassword = function(password) {
var user = this;
return bcrypt.compareSync(password, user.password);
}
module.exports = mongoose.model('User', UserSchema);
ich wirklich nicht in der Lage, das Problem hier zu verstehen. bitte jemand mir helfen?
Fehler
{
"message": "User validation failed",
"name": "ValidationError",
"errors": {
"userName": {
"message": "Path `userName` is required.",
"name": "ValidatorError",
"properties": {
"type": "required",
"message": "Path `{PATH}` is required.",
"path": "userName"
},
"kind": "required",
"path": "userName"
},
"password": {
"message": "Path `password` is required.",
"name": "ValidatorError",
"properties": {
"type": "required",
"message": "Path `{PATH}` is required.",
"path": "password"
},
"kind": "required",
"path": "password"
}
}
}
Ist ihre spezifische Nachricht mit dem Fehler, ich habe nie Chrome-Erweiterung verwendet, um Daten hinzuzufügen, so dass dies dumm klingen mag. –
@GandalftheWhite - Bitte beachten Sie mein Update für "Fehler" Was ich erhalte – 3gwebtrain
@ 3gwebtrain in Ihrem Schema haben Sie 'userName', aber Sie setzen' username' in api.js – war1oc