sql >> Databasteknik >  >> NoSQL >> MongoDB

Vilket Python API ska användas med Mongo DB och Django

Som Mike säger, du kan inte undvika PyMongo - alla andra gränssnitt bygger ovanpå det. Dessa andra gränssnitt är utan tvekan onödiga. ORM:er som de som används i Django är användbara när du hanterar SQL eftersom de minskar komplexiteten i att skapa SQL-frågor och scheman och analysera resultatuppsättningar till objekt.

PyMongo har dock redan det täckt - frågor går igenom ett bekvämt och enkelt API och resultat som kommer från MongoDB är redan objekt (nåja, dicts i Python - samma skillnad) per definition. Om du känner att du verkligen behöver dekorera dina Mongo-dokument med Python-objekt är det enkelt att lägga till en SON-manipulator till PyMongo. Det fina med det här tillvägagångssättet är att du kan skriva kod direkt på PyMongo och senare lägga in ytterligare funktionalitet utan att behöva infoga ett nytt API mellan din kod och PyMongo.

Vad är kvar? Skapande av scheman och migrering är lite användbara, men är nästan lika enkelt gjorda ad-hoc - chansen är att om du funderar på att använda MongoDB vill du ändå bryta dig ur den traditionella SQL-modellen. Dessutom, om det fanns en helt Django-kompatibel MongoDB ORM kan du få lite körsträcka av det. Allt mindre än det och du kommer förmodligen att skapa arbete åt dig själv.

Du kommer inte ångra att du använder PyMongo direkt.

Ett sista alternativ som är värt att titta på om du är intresserad av toppeffektivitet är den asynkrona versionen av PyMongo, här:http://github.com/fiorix/mongo-async-python-driver



  1. MongoDB kapslad uppslagning med 3 nivåer

  2. Varför spelar indexriktningen roll i MongoDB?

  3. Hur frågar jag efter distinkta värden i Mongoose?

  4. Fråga efter ett dokument och alla dess underdokument som matchar ett villkor i mongodb (med våren)