在AngularJS,NodeJS,MongoDB,Mongoose和ExpressJS中使用单一表单发布到多个集合

我想要一个表单发布到mongo的两个集合。

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个集合。 这可能吗?

提前致谢

这完全取决于HTTP请求的服务器端处理。 假设你定义源数据如下:

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

你可以写你的服务器端function:

 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); }); }); };