【问题标题】:How can I push element to array in http.put in angularjs?如何在 angularjs 中将元素推送到 http.put 中的数组?
【发布时间】: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 数组)中也有同样的方法。

标签: angularjs mongodb api mongoose


【解决方案1】:

使用以下方法解决:

$http.put('/api/users/'+User._id, {'projects': User.projects});

在我的更新方法中:

_.extend(user, req.body);

而不是

_.merge(user, req.body);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多