0

我正在使用一个名为 spin 的 js 框架。该框架可以通过 REST api(如骨干网)进行所有的 crud 操作。当我收到对我的控制器的创建请求时,我从客户端获得了一个具有 id 字段的模型数据,我知道我在创建请求中,所以我应该创建一个新记录,但 mongo 认为这个记录已经存在(因为id 字段)并调用更新而不是插入。有没有办法解决这个问题?我希望客户端创建这个临时 ID,但是当调用服务器端创建这个 ID 时应该被忽略。

一些代码:

#in my_controller
def create
  @model= Model.new(params[:modelData]) #model data is name=>"x", _id=>"c-0"
  @model.save

当 save 被称为 mongo do update 时,下一次创建将覆盖此记录。

4

2 回答 2

0

我不太确定我理解你的问题,但我认为你想要这个:

@model = Model.find_or_initialize_by_id(params[:modelData][:_id])
@model.update_attributes(params[:modelData])
于 2012-05-01T22:12:38.883 回答
0

我别无选择,只能从从客户端获得的模型中删除 id 字段。

于 2012-07-24T20:56:44.080 回答