2017-05-03 142 views
-1

我使用節點js作爲我的服務器端,而angular和html作爲我的客戶端。多重插入到貓鼬

我在我的服務器端插入數據貓鼬。當我在同一頁面上並想要插入新數據到貓鼬時,我必須重新啓動服務器才能使其工作。

如何在代碼中將其寫入以重新啓動它?或者如果有不同的方式來清理我以前的請求?

var savePersonal = new personal({ 
       email : myemail, 
       Tags : mytags, 
       Title: request.body.Title, 
       Info: request.body.Info, 
       Category: request.body.Category, 
       file: "none", 
       Recommendation:request.body.Recommendation, 
       myDate:tempDate 
       }); 
       savePersonal.save(function(error, result) { 

       if (error) { 
        console.error(error); 
       } else { 
        console.log("save"); 
        request = ""; 
        response.redirect('http://localhost:8080/getPrivateData.html'); 
       } 
      }) 
+0

顯示您的代碼? – Alex

+0

@Alex當我再次按下具有插入按鈕的頁面 - 那裏的服務器卡住 – user193239

+0

如果問題是從上面的代碼我想這是重定向的東西,嘗試重定向到一個路線,而不是HTML頁面爲前( response.redirect('/ home')) –

回答

1

,如果你不希望創建新的文檔數據庫必須使用更新的方法,例如:

var mongoose = require('mongoose'); 
var personal = mongoose.models.personal; 

personal.find({}, function(err, users){ 
    if(err) throw err; 

    var data = { 
       email : myemail, 
       Tags : mytags, 
       Title: request.body.Title, 
       Info: request.body.Info, 
       Category: request.body.Category, 
       file: "none", 
       Recommendation:request.body.Recommendation, 
       myDate:tempDate 
       }; 

    if(users.length) 
     personal.create(data, function(err, results){...}); 
    else 
     personal.update({_id: users[0]._id}, data, function(err, results){...}); 
}) 

這是非常粗略的代碼,但主要的想法: 1)檢查是收集空 2)如果它是空的使用保存/創建 3)如果它不是空的使用更新,但更新你必須知道_id的文件。我使用第一個元素的id(users [0] ._ id)。

+0

嘿!感謝您的回答!我想創建一個新的線 - 它只是不讓我 – user193239

+0

顯示請你的模型聲明。 – Sergaros