A distribuição PyMongo contém ferramentas para interagir com o banco de dados MongoDB do Python. O pacote bson
é uma implementação do formato BSON para Python. O pacote pymongo
é um driver Python nativo para MongoDB. O pacote gridfs
é uma implementação do gridfs sobre o pymongo
.
PyMongo suporta MongoDB 4.0, 4.2, 4.4, 5.0, 6.0, 7.0 e 8.0.
Para problemas, perguntas ou comentários sobre o PyMongo, consulte nossos canais de suporte. Por favor, não envie e-mail diretamente a nenhum dos desenvolvedores do PyMongo com problemas ou perguntas - é mais provável que você obtenha uma resposta no StackOverflow (usando uma tag "mongodb").
Acha que encontrou um bug? Quer ver um novo recurso no PyMongo? Abra um caso em nossa ferramenta de gerenciamento de problemas, JIRA:
Os relatórios de bugs no JIRA para todos os projetos de driver (ou seja, PYTHON, CSHARP, JAVA) e o projeto Core Server (ou seja, SERVER) são públicos .
Inclua todas as informações a seguir ao abrir um problema:
Etapas detalhadas para reproduzir o problema, incluindo rastreamento completo, se possível.
A versão exata do python usada, com nível de patch:
python -c " import sys; print(sys.version) "
python -c " import pymongo; print(pymongo.version); print(pymongo.has_c()) "
O sistema operacional e a versão (por exemplo, Windows 7, OSX 10.8, ...)
Framework Web ou biblioteca de rede assíncrona usada, se houver, com versão (por exemplo, Django 1.7, mod_wsgi 4.3.0, gevent 1.0.1, Tornado 4.0.2, ...)
Se você identificou uma vulnerabilidade de segurança em um driver ou qualquer outro projeto MongoDB, relate-a de acordo com as instruções aqui.
PyMongo pode ser instalado com pip:
python -m pip install pymongo
Você também pode baixar o código-fonte do projeto e fazer:
pip install .
Não instale o pacote “bson” do pypi. PyMongo vem com seu próprio pacote bson; executar "pip install bson" instala um pacote de terceiros que é incompatível com o PyMongo.
PyMongo suporta CPython 3.9+ e PyPy3.9+.
Dependências necessárias:
O suporte para URIs mongodb+srv://
requer dnspython
Dependências opcionais:
A autenticação GSSAPI requer pykerberos no Unix ou WinKerberos no Windows. A dependência correta pode ser instalada automaticamente junto com o PyMongo:
python -m pip install " pymongo[gssapi] "
A autenticação MONGODB-AWS requer pymongo-auth-aws:
python -m pip install " pymongo[aws] "
OCSP (Online Certificate Status Protocol) requer PyOpenSSL, requests, service_identity e pode exigir certifi:
python -m pip install " pymongo[ocsp] "
A compactação do protocolo Wire com snappy requer python-snappy:
python -m pip install " pymongo[snappy] "
A compactação do protocolo Wire com zstandard requer zstandard:
python -m pip install " pymongo[zstd] "
A criptografia em nível de campo do lado do cliente requer pymongocrypt e pymongo-auth-aws:
python -m pip install " pymongo[encryption] "
Você pode instalar todas as dependências automaticamente com o seguinte comando:
python -m pip install " pymongo[gssapi,aws,ocsp,snappy,zstd,encryption] "
Dependências adicionais são:
Aqui está um exemplo básico (para mais informações, consulte a seção de exemplos da documentação):
>>> import pymongo
>>> client = pymongo.MongoClient( " localhost " , 27017 )
>>> db = client.test
>>> db.name
'test'
>>> db.my_collection
Collection(Database(MongoClient('localhost', 27017), 'test'), 'my_collection')
>>> db.my_collection.insert_one({ " x " : 10 }).inserted_id
ObjectId('4aba15ebe23f6b53b0000000')
>>> db.my_collection.insert_one({ " x " : 8 }).inserted_id
ObjectId('4aba160ee23f6b543e000000')
>>> db.my_collection.insert_one({ " x " : 11 }).inserted_id
ObjectId('4aba160ee23f6b543e000002')
>>> db.my_collection.find_one()
{'x': 10, '_id': ObjectId('4aba15ebe23f6b53b0000000')}
>>> for item in db.my_collection.find():
... print (item[ " x " ])
...
10
8
11
>>> db.my_collection.create_index( " x " )
'x_1'
>>> for item in db.my_collection.find().sort( " x " , pymongo. ASCENDING ):
... print (item[ " x " ])
...
8
10
11
>>> [item[ " x " ] for item in db.my_collection.find().limit( 2 ).skip( 1 )]
[8, 11]
A documentação está disponível em pymongo.readthedocs.io.
A documentação pode ser gerada executando pip install hatch; hachura execute doc:build . A documentação gerada pode ser encontrada no diretório doc/build/html/
.
A maneira mais fácil de executar os testes é executar hatch run test:test * na raiz da distribuição. Por exemplo,
pip install hatch
hatch run test:test