node.js mongoose未在保存时重新发送

node.js mongoose未在保存时重新发送,node.js,mongodb,Node.js,Mongodb,我正在创建一个注册用户,但当它保存时,mongoose没有响应,我的意思是,它没有做任何我要求它做的事情,它只是不做任何事情,它确实在保存,但它没有进行我要求它做的渲染,下面是我的代码: var userSchema = mongoose.Schema( { username: String, password: String }); //User model. var UserModel = mongoose.model('User', userSchema); app.p

我正在创建一个注册用户,但当它保存时,mongoose没有响应,我的意思是,它没有做任何我要求它做的事情,它只是不做任何事情,它确实在保存,但它没有进行我要求它做的渲染,下面是我的代码:

var userSchema = mongoose.Schema(
{
    username: String,
    password: String
});

//User model.
var UserModel = mongoose.model('User', userSchema);

app.post('/register', function(request, response)
{
    console.log('REGISTER OK');

    //set connection to mongodb.
    mongoose.connect('mongodb://localhost');

    var db = mongoose.connection;


    //Connect to mongodb.
    db.on('error', console.error.bind(console, 'connection error:'));
    db.once('open', function callback()
    {

        console.log('connection succeed.');


        UserModel.findOne({username: request.body.username}, function(error, data)
        {
            if(error)
                console.log(error);

            if(data)
            {
                response.render('register',
                {
                    'Title': Title,
                    'result': 'user found'
                });

                mongoose.connection.close();
            }

            else
            {
                var user = new UserModel(
                {
                    username: request.body.username,
                    password: request.body.password
                });


                user.save(function(error, data)
                {
                    if(error)
                        console.log(error);

                   console.log('saved');
                });

                mongoose.connection.close();
            }
        }); 

    });
});

现在我已经删除了渲染代码,只是将其记录为“已保存”,而不是记录,现在只是将其保存到mongodb中。

我打赌,在服务器能够响应您正在进行的保存之前,您正在关闭连接,因此,
.save
的回调永远不会被调用。若要检查是否是这种情况,请将
连接。关闭
调用放在保存回调中。@guessimtoolate好吧,我做了您所做的,但它给了我一个mongo错误,告诉我连接正在关闭,我再次将其放回,但这次我正在进行渲染,它工作正常,不知道如何。。。