_id является зарезервированным и обязательным свойством в MongoDB - я думаю, что mongoid отображает id на _id, поскольку это имеет смысл.Возможно, есть способ получить доступ к свойству id через mongoid, но я думаю, что вам лучше переименовать столбец id во что-то другое, чтобы избежать путаницы в будущем.
{ $rename : { old_field_name : new_field_name } }
переименует имя поля вdocument (mongo 1.7.2 +).
, поэтому
db.college.update({ "_id" : { $exists : true }}, { $rename : { 'id' : 'code' } }, false, true);
должен обновить каждую запись в этой коллекции и переименовать поле id в код.
(очевидно, проверьте этоперед запуском любых важных данных)