2012-04-29 3 views
0

Я работаю с фреймворком js под названием позвоночник. Структура может выполнять все операции crud через REST api (например, позвоночник). Когда я получаю запрос на создание своего контроллера, я получаю данные модели, у которых есть поле id с клиентской стороны, я знаю, что я в запросе на создание, поэтому я должен создать новую запись, но монго считают, что эта запись уже существует (из-за поля id) и вызывает обновление вместо вставки. Есть ли способ решить эту проблему? Я хочу, чтобы клиентская сторона создавала этот временный идентификатор, но когда вызывающая сторона сервера создает этот идентификатор, его следует игнорировать.mongo db and rails id issue

некоторый код:

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

когда экономия называется Монго сделать обновление, так что в следующем создать перекроет эту запись.

+0

Вы используете идентификатор клиента с именем «_id» в mongodb? – kofemann

+0

Я не знаю, что сгенерировал клиент. –

+0

Можете ли вы опубликовать код, чтобы продемонстрировать проблему? –

ответ

0

У меня не было выбора, кроме как удалить поля идентификатора от модели, которую я получил от клиента.

0

Я не совсем уверен, что я понимаю ваш вопрос, но я думаю, что вы хотите:

@model = Model.find_or_initialize_by_id(params[:modelData][:_id]) 
@model.update_attributes(params[:modelData])