如何在 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 中的数组?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MySQL 中将元素推送到 JSON

如何在 Vuejs/Javascript 中将 Object 元素推送到数组中

如何将实时数据从 nodejs 服务器推送到 AngularJS?

AngularJS:如何将数据从引导模式推送到表

如何在nodeJS的mysql查询中将值推送到数组?

如何在本机反应中将设备的通知推送到另一台设备