Я использовал jruby, в моем случае я создал в config / initializers
postgres_driver.rb
$CLASSPATH << '~/.rbenv/versions/jruby-1.7.17/lib/ruby/gems/shared/gems/jdbc-postgres-9.4.1200/lib/postgresql-9.4-1200.jdbc4.jar'
или везде, где ваш драйвер, и все!
Ну да, сопоставители объектов- реляционных избыточны с MongoDB, потому что MongoDB не является реляционной базой данных , это база данных, ориентированная на документы.
Итак, вместо SQL вы пишете запросы в JSON. Если вы действительно, действительно не хотите писать необработанный JSON, а не, скажем, Linq, тогда вы все равно захотите использовать картограф. И если вы не хотите создавать связь с самим MongoDB, тогда вы не хотите передавать фактические объекты Document
, вы хотите сопоставить их с реальными POCO.
Отображение намного проще с документно-ориентированной БД, такой как MongoDB, потому что у вас есть вложенные документы вместо отношений, но это не означает, что оно полностью исчезнет. Это просто означает, что вы заменили один тип «несоответствия импеданса» другим, чуть менее драматическим несоответствием.
Все, что вам действительно нужно, - это сериализатор / десериализатор, чтобы это работало.
Норм отлично справился с этим. Упрощает получение прямых объектов poco и их сохранение в mongo с помощью одной строчки кода.
Они называют Norm ORM, но на самом деле это просто оболочка poco to dictionary mongo.
Орм - это просто дополнительная церемония для этих операций. Если ваши операции с данными абстрагируются в репозиторий, это не будет проблемой в любом случае, потому что преобразование в другое резервное хранилище - это объект на объект, основа.
Я думаю, что ORM на MongoDb может быть полезен не только для «сериализации» и «десериализации» объектов в базу данных (Norm кажется, отлично справляется), но также упрощает выполнение запросов агрегирования.
Хорошо, если ORM может генерировать задания MapReduce для группировки и обнаружения дубликатов. Некоторые люди написали код для автоматического преобразования оператора sql в задание mapreduce: http://rickosborne.org/blog/index.php/2010/02/19/yes-virginia-thats-automated-sql-to -mongodb-mapreduce /