私はmongodbを学んでいますが、私はこの壁に走っていますが、私はそれを修正する方法がわかりません。助けてください!それは前に働いていたが、私はポストの要求を行う。この時間は、私があまりにも郵便配達でこの問題を抱えていたMongodb - ユーザー検証に失敗しました
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var 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);
var express = require('express');
var app = express();
var bodyParser = require("body-parser");
var morgan = require('morgan');
var mongoose = require('mongoose');
var port = process.env.PORT || 8080;
var User = require('./app/models/user');
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.use(function(req,res,next){
res.setHeader('Acess-control-allow-Origin', '*');
res.setHeader('Acess-control-Allow-Methods', 'GET, POST');
res.setHeader('Acess-Control-Allow-Headers', 'X-Requested-With, content-type,\Authorization');
next();
});
app.use(morgan('dev'));
mongoose.connect('mongodb://localhost:27017/myDatabase');
app.get('/', function(req, res){
res.send('Welcome to thome page');
});
var apiRouter = express.Router();
apiRouter.use(function(req, res, next){
console.log('Somebody just came to our app');
next();
});
apiRouter.get('/', function(req, res){
res.json({message: 'Hooray! Welcome to our api1'});
});
app.use('/api', apiRouter);
apiRouter.route('/users')
.post(function(req,res){
var user = new User();
user.name = req.body.name;
user.username = req.body.username;
user.password = req.body.password;
user.save(function(err){
if(err){
if(err.code == 1000)
return res.json({success: false, message: "A user with that username already exists"});
else
return res.send(err);
}
res.json({message: "User created"});
});
});
app.listen(port);
console.log("Magic happens on port " + port);
これはモンゴースですよね?あなたはあなたの質問に少し明確にしたいかもしれません。 – HexCoder
そうです、それはマングースです。 – spaceDog
[Express jsフォームデータ](http://stackoverflow.com/questions/24800511/express-js-form-data)の可能な複製。私はあなたがあなたのトラブルを解決することを見つけるだろうと思う。 –