Получение Mongoid из массива params - PullRequest
1 голос
/ 31 августа 2010

Чтобы найти корневой документ, который содержит внедренный документ с использованием MongoID / Rails 3, мне нужно выполнить мой запрос следующим образом:

QuoteRequest.where( "order_request_items._id" => BSON::ObjectID(params[:id]) ).first

Есть ли способ запроса без использования BSON :: ObjectID?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 24 сентября 2010

Это ошибка, идентификаторы должны быть автоматически преобразованы Mongoid. Вы должны открыть тикет на github: http://github.com/mongoid/mongoid/issues

0 голосов
/ 31 августа 2010

Я не пользователь MongoID / Rails, но я думаю, что вы не можете.

Даже в оболочке Mongo вы должны использовать ObjectId(), если хотите сравнить ObjectID.Примерно так не получится:t автоматически преобразует ваш ввод в ObjectID.Но, возможно, есть способ сообщить MongoID, какие поля он всегда должен преобразовывать в ObjectID?Тогда вы сможете опустить использование BSON::ObjectID.

...