我想要一个表单发布到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个集合。这可能吗?
提前致谢
大通
答案 0 :(得分: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);
});
});
};