Como conectar o banco de dados MongoDB no Python
- 3512
- 1009
- Enrique Crist
MongoDB é um banco de dados NoSQL popular que é amplamente usado para armazenar e manipular grandes quantidades de dados. É conhecido por sua flexibilidade, escalabilidade e desempenho, tornando -a uma ótima opção para uma variedade de aplicações.
Neste artigo, veremos como nos conectar a um banco de dados MongoDB em python usando o 'pymongo'
Biblioteca, que é um driver de MongoDB para Python. Também abordaremos algumas operações básicas, como a inserção de dados, a consulta do banco de dados e a atualização de documentos.
Pré -requisitos
Antes de começarmos, você precisará instalar o seguinte:
- Python 3: Você pode baixar e instalar o Python no site oficial (https: // www.Pitão.org/). Certifique -se de instalar a versão mais recente do Python.
- MongoDB: Você pode baixar e instalar o MongoDB no site oficial (https: // www.MongoDB.com/). Você também precisará configurar um servidor MongoDB e criar um banco de dados.
- Biblioteca Pymongo: Você pode instalar esta biblioteca usando
'pip'
, o gerente de pacote Python. Abra um terminal e execute o seguinte comando:pip install pymongo
Conectando -se ao banco de dados
Para se conectar ao banco de dados MongoDB, precisaremos importar o 'pymongo'
biblioteca e criar um objeto cliente. O objeto cliente nos permitirá conectar -nos ao servidor MongoDB e executar operações no banco de dados.
Aqui está um exemplo de como criar um objeto cliente:
importar pymongo # conectar -se ao cliente de banco de dados = pymongo.Mongoclient ('MongoDB: // localhost: 27017/')1234 | importar pymongo # conectar -se ao banco de dados.Mongoclient ('MongoDB: // localhost: 27017/') |
Isso criará um objeto cliente conectado ao servidor MongoDB em execução na máquina local na porta padrão (27017). O 'Mongoclient ()'
A função leva uma string de conexão como um argumento, que especifica o nome do host e a porta do servidor MongoDB.
Depois de criar o objeto cliente, você pode usá -lo para acessar os bancos de dados e coleções no servidor MongoDB.
Inserção de dados
Para inserir dados em uma coleção em MongoDB, você pode usar o 'insert_one ()'
ou 'insert_many ()'
Método do objeto de coleção.
Aqui está um exemplo de como inserir um único documento em uma coleção:
# Conecte -se ao 'Test' Database db = client ['teste'] # Get the 'Usuários' Usuários da coleção = db ['usuários'] # Insira um único documento resultado = usuários.insert_one ('name': 'John Smith', 'email': '[email protected] ') imprimir (resultado.insered_id)12345678910111213 | # Conecte -se ao 'teste' databasedb = client ['test'] # get the 'users' collectionUsers = db ['usuários'] # insira um único documentResult = usuários.insert_one ('name': 'John Smith', 'email': '[email protegido]') print (resultado.insered_id) |
Isso inserirá um único documento no 'Usuários'
coleção com o nome 'John Smith'
e e -mail '[Email protegido]'
. A propriedade Inserted_id do objeto de resultado contém o ID exclusivo do documento inserido.
Você também pode inserir vários documentos ao mesmo tempo usando o 'insert_many ()'
método. Este método leva uma lista de documentos como argumento.
Aqui está um exemplo de como inserir vários documentos:
# Insira vários documentos resultados = usuários.insert_many (['name': 'Jane Doe', 'Email': '[email protected] ', ' name ':' bob smith ',' email ':' [email protected] ']) imprimir (resultado.insered_ids)12345678910111213 | # Insira vários documentosResult = usuários.insert_many (['name': 'Jane Doe', 'email': '[email protegido]', 'name': 'bob smith', 'email': '[email protegido]']) print ( resultado.insered_ids) |
Isso inserirá dois documentos no 'Usuários'
coleção com os nomes 'Jane Doe'
e 'Bob Smith'
e os respectivos endereços de e -mail. O 'insered_ids'
Propriedade do objeto Resultado contém uma lista dos IDs exclusivos dos documentos inseridos.
Consultando o banco de dados
Para recuperar dados de uma coleção em MongoDB, você pode usar o 'encontrar()'
Método do objeto de coleção. Este método retorna um objeto de cursor que pode ser iterado para recuperar os documentos que correspondem à consulta.
Aqui está um exemplo de como recuperar todos os documentos de uma coleção:
# Encontre todos os documentos cursor = usuários.encontre () # iterar sobre o cursor e imprima os documentos para o DOC em cursor: print (doc)123456 | # Encontre todos os documentosCursor = usuários.encontre () # iterar sobre o cursor e imprima os documentos para documentos em cursor: print (doc) |
Isso recuperará todos os documentos do 'Usuários'
coleção e imprimi -los no console.
Você também pode especificar um filtro para recuperar apenas os documentos que correspondem aos critérios especificados. O filtro é especificado como um dicionário que contém os nomes e valores de campo para corresponder.
Aqui está um exemplo de como recuperar documentos com um valor de campo específico:
# Encontre documentos onde o nome é "John Smith" cursor = usuários.encontre ('nome': 'John Smith') # iterar sobre o cursor e imprima os documentos para o documento em cursor: print (doc)123456 | # Encontre documentos onde o nome é "John Smith" cursor = usuários.encontre ('name': 'John Smith') # iterar sobre o cursor e imprima os documentos para documentos em cursor: print (doc) |
Isso recuperará todos os documentos do 'Usuários'
coleção onde o campo de nome é igual a 'John Smith'
.
Você também pode usar operadores de comparação no filtro para especificar critérios mais complexos. Por exemplo, para recuperar documentos onde o campo de nome começa com a letra "J", você pode usar o '$ regex'
operador:
123456 | # Encontre documentos onde o nome começa com "J" cursor = usuários.encontre ('name': '$ regex': '^j') # iterar sobre o cursor e imprima os documentos para documentos em cursor: print (doc) |
Atualizando documentos
Para atualizar um documento em uma coleção, você pode usar o 'update_one ()'
ou 'update_many ()'
Método do objeto de coleção.
Aqui está um exemplo de como atualizar um único documento:
# Atualize o email do primeiro documento resultado = usuários.update_one ('nome': 'John Smith', '$ set': 'email': 'John [email protected] ') imprimir (resultado.modificado_count)1234 | # Atualize o email do primeiro documentResult = usuários.update_one ('nome': 'John Smith', '$ set': 'email': '[email protegido]') print (resultado.modificado_count) |
Isso atualizará o campo de email do primeiro documento que corresponde ao filtro '' Nome ':' John Smith ''
. O 'modificado_count'
propriedade do objeto de resultado contém o número de documentos que foram modificados.
Você também pode atualizar vários documentos ao mesmo tempo usando o 'update_many ()'
método. Este método leva um filtro e um documento de atualização como argumentos.
Aqui está um exemplo de como atualizar vários documentos:
# Atualize o e -mail de todos os documentos Result = Usuários.update_many (, '$ set': 'email': '[email protected] ') imprimir (resultado.modificado_count)1234 | # Atualize o email de todos os documentosResult = usuários.update_many (, '$ set': 'email': '[email protegido]') print (resultado.modificado_count) |
Isso atualizará o campo de e -mail de todos os documentos no 'Usuários'
coleção para '[Email protegido]'
.
Fechando a conexão
Fechando a conexão
Depois de terminar de trabalhar com o banco de dados, é uma boa ideia fechar a conexão para liberar os recursos. Para fechar a conexão, você pode ligar para o 'fechar()'
Método do objeto cliente.
Aqui está um exemplo de como fechar a conexão:
# Feche o cliente de conexão.fechar()12 | # Feche o conexão.fechar() |
É isso! Agora você aprendeu a se conectar a um banco de dados MongoDB no Python, inserir dados, consultar o banco de dados e atualizar documentos. Com essas habilidades, você deve começar a criar aplicativos que armazenem e manipulam dados usando o MongoDBB.