Nodejs将数据插入mongodb。这需要太多时间

时间:2013-12-05 14:02:34

标签: node.js mongodb express

您好我正在开发nodejs应用程序。我正在向mongodb插入数据,但我的页面始终处于“加载”模式。但奇怪的是我的数据立即插入到mongodb但页面加载没有停止。我的代码如下所示:

app.post('/Management/Post/New',function(req, res){
     new Post({
    title:req.body.post.title,
    body:req.body.post.body,
    keywords:req.body.post.keywords
  }).save(function (err, docs){
    if(err) {
         return res.render(__dirname + "/views/createpost", {
                    title: 'Yeni Gönderi Oluştur',
                    stylesheet: 'postcreate',
                    error: 'Gönderi oluşturulurken bir hata ile karşılaşıldı'
                });
    }
    console.log('Gönderi oluşturuldu');
  });
});

不知道。

2 个答案:

答案 0 :(得分:4)

只有在出现错误时才会发送回复。如果没有错误,那么服务器永远不会发回任何内容:这就是为什么页面似乎总是在加载。

您需要在没有错误时发送回复,例如:

.save(function (err, docs){
    if(err) { // Executed when there was an error with Mongo
         return res.render(...);
    } else { // Executed when everything is fine
        return res.render(...);
    }
  });

答案 1 :(得分:0)

除了console.log之外,您没有处理成功方案。成功时需要res.render()或res.redirect(),而不仅仅是错误