MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Qual API Python deve ser usada com Mongo DB e Django


Como Mike diz, você não pode evitar o PyMongo - todas as outras interfaces são construídas em cima dele. Essas outras interfaces são indiscutivelmente desnecessárias. ORMs como os usados ​​no Django são úteis ao lidar com SQL porque reduzem a complexidade de criar consultas e esquemas SQL e analisar conjuntos de resultados em objetos.

O PyMongo, no entanto, já tem isso coberto - as consultas passam por uma API conveniente e simples e os resultados provenientes do MongoDB já são objetos (bem, dicts em Python - mesma diferença) por definição. Se você acha que realmente precisa decorar seus documentos Mongo com objetos Python, é fácil adicionar um manipulador SON ao PyMongo. O bom dessa abordagem é que você pode escrever código diretamente no PyMongo e inserir funcionalidades adicionais posteriormente sem precisar inserir uma nova API entre seu código e o PyMongo.

O que sobrou? A criação e migração de esquemas são um pouco úteis, mas são quase tão simples feitas ad-hoc - é provável que, se você estiver pensando em usar o MongoDB, queira sair do modelo tradicional de estilo SQL de qualquer maneira. Além disso, se houvesse um ORM MongoDB totalmente compatível com Django, você poderia obter alguma vantagem dele. Qualquer coisa menos do que isso e você provavelmente estará criando trabalho para si mesmo.

Você não vai se arrepender de usar o PyMongo diretamente.

Uma última opção que vale a pena assistir se você estiver interessado em eficiência máxima é a versão assíncrona do PyMongo, aqui:http://github.com/fiorix/mongo-async-python-driver