MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Quelle API Python doit être utilisée avec Mongo DB et Django

Comme le dit Mike, vous ne pouvez pas éviter PyMongo - toutes les autres interfaces s'appuient dessus. Ces autres interfaces sont sans doute inutiles. Les ORM tels que ceux utilisés dans Django sont utiles lorsqu'il s'agit de SQL car ils atténuent la complexité de la création de requêtes et de schémas SQL et de l'analyse des ensembles de résultats en objets.

PyMongo a cependant déjà couvert cela - les requêtes passent par une API pratique et simple et les résultats provenant de MongoDB sont déjà des objets (enfin, des dicts en Python - même différence) par définition. Si vous sentez que vous avez vraiment besoin de décorer vos documents Mongo avec des objets Python, il est facile d'ajouter un manipulateur SON à PyMongo. L'avantage de cette approche est que vous pouvez écrire du code directement sur PyMongo et y ajouter des fonctionnalités supplémentaires ultérieurement sans avoir à insérer une nouvelle API entre votre code et PyMongo.

Ce qui reste? La création et la migration de schémas sont quelque peu utiles, mais sont presque aussi simples ad hoc - il y a de fortes chances que si vous envisagez d'utiliser MongoDB, vous souhaitiez de toute façon sortir du modèle traditionnel de style SQL. De plus, s'il existait un ORM MongoDB entièrement compatible avec Django, vous pourriez en tirer un certain profit. Rien de moins que cela et vous créerez probablement du travail pour vous-même.

Vous ne regretterez pas d'utiliser directement PyMongo.

Une dernière option à surveiller si vous êtes intéressé par une efficacité maximale est la version asynchrone de PyMongo, ici :http://github.com/fiorix/mongo-async-python-driver