2010-03-10 11 views
15

En Rubí, en la actualidad hay 3 ODM (creadores de mapas de datos de objetos) mantuvo:¿Cuál es tu ODM preferido en Ruby? MongoMapper, MongoID o MongoDoc?

¿Cuál es tu preferido y por qué?

+0

¿Por qué no se unen a sí mismos en una MongoDocuments? Creo que impulsaría el desarrollo y la popularidad. –

+0

MongoDoc y MongoId se han fusionado. Pero MongoMapper y Mongoid son realmente diferentes. Entonces, es normal tener 2 proyectos – shingara

Respuesta

2

Estoy usando MongoMapper. Está bien, excepto que es un poco lento con las conversiones de tiempo. Y carga todos los datos como Array. MyCollection.all, por ejemplo, le ofrece una gran variedad, no cursor.

mientras que Mongoid dice: - Optimizado para usar con conjuntos de datos extremadamente grandes.

Así que supongo que podría probar MongoID si necesita velocidad y tiene grandes conjuntos de registros.

+0

La prueba de rendimiento dentro de MongoMapper es más rápida que MongoID – shingara

0

Puedo recomendar MongoMapper, ya que también funciona con rails3 (beta y master). Personalmente, no probé con los otros 2 mapeadores que mencionaste, ya que MM funciona muy bien en mi flujo de trabajo y la lista de correo está muy activa. Además, la base de código es realmente estable y el único problema es con rails3 master, por lo que debe usar la rama de fredwu, que ya incluye correcciones para los cambios maestros actuales de rails3 en form_for: http://github.com/fredwu/mongomapper.git

2

Estaba intentando MongoMapper, pero creo que Iremos con Mongoid, porque después de los documentos de lectura rápida me parece algo más fácil. Además, está desarrollado por chicos de Hashrocket, así que esa es una buena razón en sí misma.

3

En mi opinión, es difícil decir cuál es mejor, si tiene experiencia en DataMapper le gustará MongoMapper, pero si utilizó ActiveRecord, Mongoid es su elección preferida. Creo que vale la pena probar todas ellas en relación con el contexto en el que desea usarlas.

5

Acabo de elegir Mongoid para un nuevo proyecto de Rails 3 basado en el argumento de que tiene la mejor documentación.

Como soy nuevo en MongoDB (con muchos años de MySQL y un poco de experiencia en CouchDB), necesitaba buenas guías que me tomaran de la mano y me ayudaran a entregar algo que funcionara en un lapso de tiempo razonable.

AFAIK Mongoid tiene precisamente eso: un sitio atractivo, con guías bien documentadas para novatos como yo.

2

Aunque no es una respuesta directa a su pregunta, también consideraría usar el controlador básico de ruby ​​directamente. A diferencia de los diversos adaptadores SQL, la clase Ruby de Mongo es fácil de usar y potente. Debido a que las consultas son hashes, la redacción de consultas es generalmente fácil. La verdadera ventaja es el acceso al Atomic Modifiers. Si se beneficia de una base de datos de documentos, estos modificadores deberían estar en su caja de herramientas.

Habiendo dicho esto, continuaré y recomendaré MongoMapper porque tiene una integración más limpia con las partes que no son CRUD de MongoDB. Ambos proyectos están haciendo progresos en esta área, y la situación pueden tener cambios desde que hice mi investigación en diciembre de 2010.

4

Código Today 'Mongoid y MongoMapper enter image description here

Parece que MongoMapper tiene mucho mejor calidad del código (si hace lo mismo con menos).

He aquí los CodeStats analizador https://github.com/alexeypetrushin/code_stats

+5

Es un hecho bien conocido que un código más corto no siempre significa un mejor rendimiento. – Kelly

+0

@Kelly, nadie dijo nada sobre el rendimiento, ¿o sí? – Timo

+0

Este hilo era sobre ODM preferidos. Prefiero un mejor rendimiento. :) – Kelly

Cuestiones relacionadas