2014-10-06 23 views
1

我想要一個表單發佈到mongo中的兩個集合。在AngularJS,NodeJS,MongoDB,Mongoose和ExpressJS中使用單個表單發佈到多個集合

的HTML是什麼樣子

<form> 
    ...Field1 
    ...Field2 
    ...Field3 
    ...Field4 
</form> 

控制器將是什麼樣子

app.controller..... 

    $scope.var = {$scope.fields}..... 
    $http post... 
     ...Field 1 & Field 2 to Mongo Collection 1 
     ...Field 3 & Field 4 to Mongo Collection 2 

基本不除去需要2種獨立的形式喂2個集合。這可能嗎?

預先感謝

大通

回答

1

這完全依賴於你的HTTP請求的服務器側處理。假如你這樣定義源數據:

var composite = {'col1' :{'field1':value, 'field2':value}, 
'col2' :{'field3':value, 'field4':value}}; 

你可以寫你的服務器端功能:

var mongoose = require('mongoose'), Col1 = mongoose.model('Col1'), Col2 = mongoose.model('Col2'); 

exports.compositeUpdate = function(req, res, next) { 
    var template1 = req.body.col1; 
    var template2 = req.body.col2; 
    // you could also do template1 = new Col1(req.body.col1) and use template1.save() 
    var compositeResponse = {}; 
    Col1.create(template1, function(err, result) { 
     // omitting error handling 
     compositeResponse.col1 = result; 
     Col2.create(template2, function(err, result2) { 
      compositeResponse.col2 = result2; 
      res.json(compositeResponse); 
     }); 
    }); 
}; 
+0

這給了我極大的視覺開始寫我的代碼。感謝您抽出寶貴的時間! – 2014-10-06 21:06:28

相關問題