MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Welche Python-API sollte mit Mongo DB und Django verwendet werden?

Wie Mike sagt, kommt man an PyMongo nicht vorbei – alle anderen Schnittstellen bauen darauf auf. Diese anderen Schnittstellen sind wohl unnötig. ORMs, wie sie in Django verwendet werden, sind beim Umgang mit SQL nützlich, da sie die Komplexität der Erstellung von SQL-Abfragen und -Schemas und des Parsens von Ergebnismengen in Objekte verringern.

PyMongo hat dies jedoch bereits abgedeckt - Abfragen durchlaufen eine bequeme und einfache API, und Ergebnisse, die von MongoDB kommen, sind per Definition bereits Objekte (naja, Diktate in Python - derselbe Unterschied). Wenn Sie das Gefühl haben, dass Sie Ihre Mongo-Dokumente wirklich mit Python-Objekten dekorieren müssen, können Sie PyMongo ganz einfach einen SON-Manipulator hinzufügen. Das Schöne an diesem Ansatz ist, dass Sie Code direkt in PyMongo schreiben und später zusätzliche Funktionen einfügen können, ohne eine neue API zwischen Ihren Code und PyMongo einfügen zu müssen.

Was ist übrig? Schema-Erstellung und -Migration sind etwas nützlich, werden aber fast genauso einfach ad-hoc durchgeführt - die Chancen stehen gut, wenn Sie die Verwendung von MongoDB in Betracht ziehen, dass Sie aus dem traditionellen SQL-Modell ausbrechen möchten. Auch wenn es ein vollständig Django-kompatibles MongoDB-ORM gäbe, könnten Sie davon profitieren. Alles andere als das und Sie werden wahrscheinlich Arbeit für sich selbst schaffen.

Sie werden es nicht bereuen, PyMongo direkt zu verwenden.

Eine letzte sehenswerte Option, wenn Sie an höchster Effizienz interessiert sind, ist die asynchrone Version von PyMongo, hier:http://github.com/fiorix/mongo-async-python-driver