MongoDB: ¿Mandango o Doctrine2?

137 views
Skip to first unread message

JavierBravo

unread,
Jan 29, 2013, 12:38:51 PM1/29/13
to symfo...@googlegroups.com
Hola a todos !

Mi duda es a cerca de que ODM recomiendan usar para usar MongoDB como base de datos en una aplicación en Symfony2. No he trabajdo antes con MongoDB y he estado buscando información al respecto, parece que Mandango ofrece mucho mejor rendimiento que Doctrine2 y es bastante usado. Sin embargo al comenzar a hacer uso de Mandango resulta que el bundle para Symfony (MandangoBundle) no está actualizado para Sf2.1 (en el branch oficial) y hace ya algunos meses que no se actualiza su repo en GitHub, lo que me hace dudar a la hora de usar Mandango. Creo que la ventaja que ofrece Doctrine es la posibilidad de trabajar de manera igual o muy similar que con el ORM para bases de datos SQL.

Me gustaría conocer las opiniones de quienes hayan usado alguno o ambos ODM y así poder hacer la mejor elección ! ;).

Muchas gracias !

Saludos,
Javi.


magarzon

unread,
Jan 29, 2013, 1:18:07 PM1/29/13
to symfo...@googlegroups.com
Cuando empecé a utilizar MongoDB estuve mirando Mandango y lo rechacé por el mismo motivo que intuyes, ni el bundle ni el proyecto Mandango se actualizan lo suficiente, y por ejemplo no tienen los últimos cambios de mongodb.

Aparte, no sé si luego sería fácil de integrar con otros bundles que sí se integran con Doctrine.

Por lo tanto, tienes dos opciones, o te curras tú tu propio bundle que use Mandango (o haces un fork del que ya existe, para no partir de cero) y las integraciones que luego se requieran, o usas Doctrine, que no es la panacea, pero te olvidas de problemas de integración y de actualización (AUNQUE yo he tenido problemas con las últimas versiones, que no están todas sincronizadas, si al final usas Doctrine y tienes problemas con clases que no se encuentran y cosas así, dímelo y te digo qué versiones estoy utilizando yo).

JavierBravo

unread,
Jan 31, 2013, 4:16:13 AM1/31/13
to symfo...@googlegroups.com
Muchas gracias por la información magarzon !

Estoy haciendo pruebas con ambos a para comprobar con cual me encuentro más cómo trabajando. He comenzado con Mandago, todo bien aunque en la parte de las consultas a la BD no lo veo demasiado claro y la documentación que he encontrado es muy escasa. También es verdad que no he trabajado antes con MongoDB. Ahora probaré con doctrine a ver que tal.

Saludos,
Javi.

JavierBravo

unread,
Feb 7, 2013, 8:32:37 AM2/7/13
to symfo...@googlegroups.com
Buenas !

Escribo para comentar por que opción me he decantado finalmente y porqué, al igual le es útil para otros que se encuentren en la misma tesitura.

Finalmente estoy usando Doctrine para usar mi base de datos MongoDB.

¿Porqué no Mandango? Bien unos de los principales motivos por los que no he elegido usar mandango es por lo comentados anteriormente y comparte magarzon, el bundle parece que no se actualiza lo suficiente. Además la documentación, tutoriales y ejemplos a cerca del mismo son escasos. Parece que el rendimiento que tiene es muy bueno (no he hecho pruebas) pero su manera de uso a mi personalmente no me convence.

¿Porqué si Doctrine? Princiaples motivos: integración completa con Sf2 (formularios, validadiones, ...) y soporte oficial del propio framework. Además hasta ahora siempre había trabajado con Doctrine haciendo usos de Bases de datos relacionales y las diferencias de trabajar entre una y otra son mínimas. 

Saludos a todos,
Javi.

El martes, 29 de enero de 2013 17:38:51 UTC, JavierBravo escribió:

JavierBravo

unread,
Feb 26, 2013, 6:32:42 AM2/26/13
to symfo...@googlegroups.com
Hola !

haciendo uso de Doctrine Mongodb me ha surgido una nueva duda: ¿Es posible usar Memcache para guardar el resultado de las consultas con Doctrien MongoDB? En caso afirmativo ¿Cómo? He estado buscando información al respecto pero no encuentro nada y no se trabaja igual que con Doctrine ORM en este aspecto.

Muchas gracias !

Lami

unread,
May 4, 2014, 6:09:01 PM5/4/14
to symfo...@googlegroups.com
Hola, 
Lo siento si vengo muy tarde pero soy nueva en mongodb y en symfony2 y intento utilizar doctrine utilizando como primer ejemplo el de esta página: http://symfony.com/doc/current/bundles/DoctrineMongoDBBundle/index.html, pero no logro hacer que se visualice el resultado ya que me da este error:ClassNotFoundException: Attempted to load class "MongoId" from the global namespace in /opt/lampp/htdocs/symfony/vendor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/Id/AutoGenerator.php line 36. Did you forget a use statement for this class?. He mirado oluciones y dicen que el problema esta en la extensión de php para mongo y he comprobado que la tengo. Por favor, alguien me puede proponer algo o me puede indicar los pasos para volver a instalar de nuevo ya que no logro avanzar. Gracias de antemano

Iker Barrena

unread,
Jun 20, 2016, 7:29:35 AM6/20/16
to symfony-es
Buenas:

He estado con ese problema unas horas y al final lo he corregido actualizando el driver de php para mongodb. Lo primreo ha sido desinstalar la versión que tenia de paquete y posteriormente ejecutar los siguientes comandos:

sudo apt-get install php5-dev make php-pear
sudo pecl install mongo
sudo echo "extension=mongo.so" | sudo tee /etc/php5/mods-available/mongo.ini

Para finalmente, realizar el link correspondiente en la carpeta conf.d que quieras añadir la extension, cli, apache etc.:

sudo ln -s ../../mods-available/mongo.ini 20-mongo.ini

Un saludo,
Reply all
Reply to author
Forward
0 new messages