2015-01-28 1 views
1

Я использую Mongoid 4.0.0 с Rails 4. Мои модели отображают таблицы в другом приложении, и у меня нет контроля над именами полей.Предотвращение принудительного применения модели Mongoid 4.0.0 id => _id

У одной из моделей есть поле с именем id, которое получает принудительное поле в поле _id Монго. Например, когда я вставляю документ с id значением "something" я

{_id:"something", id:null} 

вместо

{_id:ObjectId("<hexstring>"),id:"something"} 

Есть ли способ избежать этого принуждения, сделать Mongoid не приравнивать эти два поля, и оставьте поле моего id?

Как я уже говорил, переименование поля idне вариант.

Спасибо!

[отредактировано] Это, безусловно, не вопрос MongoDB. Это должно быть в мопеде или (моей догадке) Монгоиде.

Я попытался сменить ключ params с :id на :_rid, но это все еще происходит. Я собираюсь проверить псевдонимы, но с моего первого прохода я не думаю, что они помогут - они, похоже, идут не так.

ответ

0

Это, по-видимому, жестко закодировано в Moingoid и распространенное предположение повсюду. Тем не менее, это довольно раздражает, что я могу придумать патч, чтобы пользователи могли переопределить ключевое поле на основе на.

О, хорошо.