如何在 angularjs 中将元素推送到 http.put 中的数组?
Posted
技术标签:
【中文标题】如何在 angularjs 中将元素推送到 http.put 中的数组?【英文标题】:How can I push element to array in http.put in angularjs? 【发布时间】:2015-08-18 11:23:48 【问题描述】:我有以下架构:
var UserSchema = new Schema(
name: String,
email: type: String, lowercase: true ,
projects: [type: Schema.ObjectId, ref:'Project'],
//....
如何使用http.put
添加projectId
?
这是我尝试过的事情之一:
$http.put('/api/users/'+User._id, 'projects': project._id);
【问题讨论】:
你想在 UserSchema 对象中有projects': project._id
?
您的 API 控制器是否支持此操作?您是否可以控制 REST 服务?据我所知,您正在使用 Microsoft WebApi。如果是这种情况,您需要编写控制器代码来执行此操作,或者考虑改用 ODATA 控制器。
我正在创建用户和项目之间的多对多关系。以为这是这样做的方法吗?我正在使用角度全栈生成器。换一种说法;是的,我控制着 REST 服务,它不是 Microsoft WebApi。
我在 ProjectSchema(用户 ID 数组)中也有同样的方法。
【参考方案1】:
使用以下方法解决:
$http.put('/api/users/'+User._id, 'projects': User.projects);
在我的更新方法中:
_.extend(user, req.body);
而不是
_.merge(user, req.body);
【讨论】:
以上是关于如何在 angularjs 中将元素推送到 http.put 中的数组?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Vuejs/Javascript 中将 Object 元素推送到数组中