我的代码:
var user = new User({
fullname: req.body.fullname,
mobile:req.body.mobile,
email: req.body.email,
gender: req.body.gender,
state: req.body.state,
city: req.body.city,
pincode:req.body.pincode,
college: req.body.college,
course: req.body.course,
descipline: req.body.descipline,
semester: req.body.semester,
university: req.body.university,
month:req.body.month,
worklocation:req.body.worklocation,
members:members
});
user.save(function(err, data) {
if(err) {
return next(err);
}
res.status(201).json(data);
});
最佳答案
您可以直接在架构中分配对象的成员数组
var members = [{degree_name:'xxx', degree_subject: 'yyy'},
{degree_name:'xxx1', degree_subject: 'yyy1'}];
var user = new User({
fullname: req.body.fullname,
.....
members:members
});
如果您从 Angular 发送相同的属性名称,那么您可以像 new User(req.body)
一样使用 req.body
。
这样你就可以从 UI 中作为请求正文发送
$scope.user = {
fullname: 'xx',
mobile: 'yy',
members: [{degree_name:'xxx', degree_subject: 'yyy'},
{degree_name:'xxx1', degree_subject: 'yyy1'}]
};
然后在 Mongoose 中可以使用类似
var user = new User(req.body);
然后根据您的属性名称自动映射。
如果 req.body
属性名称与架构有任何不同,则重新分配该属性。
var user = new User(req.body);
user.course = req.body.courseName
Angular 代码:
$scope.members = [{degree_name:'xxx', degree_subject: 'yyy'},
{degree_name:'xxx1', degree_subject: 'yyy1'}];
$scope.registerDetails = function() {
$scope.user.members = $scope.members;
$http.post('/api', $scope.user).success(function(data) {
// your code
}).error(function(status) {
// your code
});
};
关于angularjs - 如何使用node js和angularjs将数组添加到mongodb中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44382275/