Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js mongoose出现验证错误时节点服务器崩溃_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js mongoose出现验证错误时节点服务器崩溃

Node.js mongoose出现验证错误时节点服务器崩溃,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我已经为每个使用node和mongoose的用户创建了一个动态模式,如下所示 var mongoose = require('mongoose'); var Schema = mongoose.Schema; require('mongoose-currency').loadType(mongoose); var Currency = mongoose.Types.Currency; var values = 'Credit Debit'.split(' '); va

我已经为每个使用node和mongoose的用户创建了一个动态模式,如下所示

    var mongoose = require('mongoose');
    var Schema = mongoose.Schema;
    require('mongoose-currency').loadType(mongoose);
var Currency = mongoose.Types.Currency;

var values = 'Credit Debit'.split(' ');

var schema = new Schema({
        amount: {
            type: Currency,
            required: true
        },
        type: {
            type: String,
            enum: values
        },
        description: {
            type: String,
            required: true
        }
    },
    {
        timestamps: true
    });

exports.create_database = function(mobile) {
    return mongoose.model('personal_'+mobile, schema, 'personal_'+mobile);
};
我在下面给出的个人路由器代码中使用了这个

var express = require('express');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');

var database = require('../models/personal');
var Verify = require('./verify');

var personalRouter = express.Router();
personalRouter.use(bodyParser.json());
personalRouter.route('/')

.get(Verify.verifyOrdinaryUser, function (req, res, next) {
    var mobile = req.decoded._doc.mobile;
    var Personal = database.create_database(mobile);
    Personal.find(req.query)
    .exec(function (err, personal) {
        if (err) next(err);
        res.json(personal);
    })
})

.post(Verify.verifyOrdinaryUser, function(req, res, next) {
    var mobile = req.decoded._doc.mobile;
    var Personal = database.create_database(mobile);
    Personal.create(req.body, function(err, personal) {
        if(err) next(err);
        console.log('Personal Record added!');
        var type = personal.type;
        var amount = personal.amount/100;
        res.writeHead(200, {
            'Content-Type': 'text/plain'
        });
        res.end('Added the '+type+' record of amount = '+amount);
    })
})

module.exports = personalRouter;
现在,get和post路由器都可以正常工作,直到我传入与mongoose模式不符的值为止。 如果我传入的值没有说明,我的服务器将给出一个验证错误并崩溃。 我尝试在代码中用throw(err)替换next(err),但没有任何运气。 我希望显示错误并防止服务器崩溃和关闭。
请帮帮我,我哪里出了问题?

你有没有找到解决方法?你有没有找到解决方法?