Я новичок в MongoDB и Mongoid, используя Mongoid 3.1.4
для моих Rails (3.2.13
). Я видел в устаревшем коде люди, использующие как type: Moped::BSON::ObjectId
, так и type: String
где-то для ссылочной модели.Мопед :: BSON :: ObjectId или String для идентификатора родителя в моделях Rails?
Пример
class Team
include Mongoid::Document
field :room_id, type: String
field :leader_id, type: Moped::BSON::ObjectId
...
end
(Использование git blame
я знаю, эти 2 строки, написанные на 2 разных людей)
Я сделал поиск, но не нашел ответа на вопрос, когда/почему использовать то, что тип? String
или Moped::BSON::ObjectId
Спасибо,
Хранение ObjectId также позволяет избежать большого беспорядка бессмысленности преобразования типов при запросе вещей. ObjectIds и строки часто выглядят одинаково, но это не так; иногда Mongoid преобразует строки в ObjectIds для вас, иногда это не будет. –