sql >> Base de Datos >  >> NoSQL >> MongoDB

Qué API de Python se debe usar con Mongo DB y Django

Como dice Mike, no puedes evitar PyMongo:todas las demás interfaces se basan en él. Estas otras interfaces son posiblemente innecesarias. Los ORM como el que se usa en Django son útiles cuando se trata de SQL porque mitigan la complejidad de crear consultas y esquemas de SQL y analizar conjuntos de resultados en objetos.

Sin embargo, PyMongo ya tiene eso cubierto:las consultas pasan por una API conveniente y simple y los resultados que provienen de MongoDB ya son objetos (bueno, dictados en Python, la misma diferencia) por definición. Si cree que realmente necesita decorar sus documentos de Mongo con objetos de Python, es fácil agregar un manipulador SON a PyMongo. Lo bueno de este enfoque es que puede escribir código directamente en PyMongo y deslizar funciones adicionales más adelante sin tener que insertar una nueva API entre su código y PyMongo.

¿Lo que queda? La creación y la migración de esquemas son algo útiles, pero se realizan ad-hoc casi con la misma sencillez; es probable que, si está considerando usar MongoDB, quiera salirse del modelo tradicional de estilo SQL de todos modos. Además, si hubiera un ORM MongoDB totalmente compatible con Django, podría aprovecharlo. Cualquier cosa menos que eso y probablemente estarás creando trabajo para ti mismo.

No te arrepentirás de usar PyMongo directamente.

Una última opción que vale la pena ver si está interesado en la máxima eficiencia es la versión asíncrona de PyMongo, aquí:http://github.com/fiorix/mongo-async-python-driver