MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Quale API Python dovrebbe essere utilizzata con Mongo DB e Django

Come dice Mike, non puoi evitare PyMongo:tutte le altre interfacce si basano su di esso. Queste altre interfacce sono probabilmente non necessarie. Gli ORM come quello utilizzato in Django sono utili quando si ha a che fare con SQL perché riducono la complessità della creazione di query e schemi SQL e analizzano i set di risultati in oggetti.

PyMongo, tuttavia, lo ha già coperto:le query passano attraverso un'API comoda e semplice e i risultati provenienti da MongoDB sono già oggetti (beh, dicts in Python - stessa differenza) per definizione. Se ritieni di aver davvero bisogno di decorare i tuoi documenti Mongo con oggetti Python, è facile aggiungere un manipolatore SON a PyMongo. La cosa bella di questo approccio è che puoi scrivere codice direttamente su PyMongo e inserire funzionalità aggiuntive in un secondo momento senza dover inserire una nuova API tra il tuo codice e PyMongo.

Cos'è rimasto? La creazione e la migrazione dello schema sono in qualche modo utili, ma sono quasi altrettanto semplicemente fatte ad hoc:è probabile che se stai pensando di utilizzare MongoDB che desideri comunque uscire dal tradizionale modello in stile SQL. Inoltre, se esistesse un ORM MongoDB completamente compatibile con Django, potresti ricavarne un po '. Qualsiasi cosa in meno e probabilmente creerai lavoro per te stesso.

Non ti pentirai di aver utilizzato direttamente PyMongo.

Un'ultima opzione che vale la pena guardare se sei interessato alla massima efficienza è la versione asincrona di PyMongo, qui:http://github.com/fiorix/mongo-async-python-driver