Escolar Documentos
Profissional Documentos
Cultura Documentos
########
# Trabalhando com um documento de cada vez
########
print('\nTRABALHANDO COM UM DOCUMENTO DE CADA VEZ\n')
########
# Inserindo dados no BD
########
print('\nINSERINDO DADOS NO BD\n - insert_one\n')
# insert_one
#
# Insere um documento baseado no dicionário ao BD
collection.insert_one(usuario)
# Ou insere diretamente o dicionário no BD sem usar uma variável temporária
doc = collection.insert_one({'titulo': 'Duna',
'ISBN': '123456',
'capa': 'dura'})
# find_one
#
# Busca o primeiro documento que coincidir com os dados buscados
#
# Prepara um dicionário com os campos a serem buscados
consulta = {'nome': 'Diogo'}
# Realiza a busca
doc = collection.find_one(consulta)
print('\tDocumento encontrado:', doc)
print('\tTipo do dado retornado:', type(doc))
########
# Atualizando dados no BD
########
print('\nATUALIZANDO DADOS NO BD\n - update_one\n')
# update_one
#
# Prepara a consulta e o novo valor
consulta = {'nome': 'Diogo'}
# O $set recebe um dicionário com as atualizações que devem ser realizadas
# Caso a chave já exista (como no 'nome') ela é atualizada
# Caso a chave não exista (como em 'data_nas') ela é criada
novo_valor = {'$set': {'nome': 'Diogo R. Olsen', 'data_nas': '12/01/1984'}}
# Executa a atualização
result = collection.update_one(consulta, novo_valor)
########
# Atualizando dados no BD
########
print('\nAPAGANDO DADOS NO BD\n - delete_one\n')
# delete_one
#
# Prepara a consulta
consulta = {'nome': 'Diogo R. Olsen'}
# Executa a deleção
result = collection.delete_one(consulta)
########
# Trabalhando com múltiplos documentos
########
print('\n\nTRABALHANDO COM MÚLTIPLOS DOCUMENTOS\n')
########
# Inserindo dados no BD
########
print('\nINSERINDO DADOS NO BD\n - insert_many\n')
# insert_many
#
# Insere um conjunto de documentos baseado nos dicionários ao BD
result = collection.insert_many(lista_de_usuarios)
########
# Buscando dados no BD
########
print('\nBUSCANDO DADOS NO BD\n - find\n')
# find
#
# Busca o conjunto de documentos que coincide com a busca
#
# Prepara um dicionário com os campos a serem buscados
consulta = {'tipo': 'Estudante'}
# Realiza a busca
# O find retorna um cursor com os dados
cursor = collection.find(consulta)
print('\n\tProjection\n')
print('\n\tLimit\n')
print('\n\tSort\n')
########
# Contando documentos no BD
########
# count_documents
#
# Conta quantos documentos coincidem com os dados buscados
#
# Prepara um dicionário com os campos a serem buscados
consulta = {'tipo': 'Estudante'}
# Realiza a contagem
result = collection.count_documents(consulta)
########
# Atualizando um conjunto de documentos no BD
########
# update_many
#
# Atualiza um conjunto de documentos que coincidem com os dados buscados
#
# Prepara um dicionário com os campos a serem buscados
consulta = {'tipo': 'Estudante'}
# Prepara um dicionário com os campos a serem alterados
novo_valor = {'$set': {'tipo': 'Aluno'}}
# Realiza a atualização
result = collection.update_many(consulta, novo_valor)
# matched_count
# - Quantidade de documentos ENCONTRADOS com o dicionário de consulta
print('\tDocumentos encontrados:', result.matched_count)
# modified_count
# - Quantidade de documentos MODIFICADOS com o dicionário de consulta
print('\tDocumentos atualizados:', result.modified_count)
# acknowledged
# - Confirmação da execução da atualização - Não confirma a atualização e sim
# a execução da função
print('\tConfirmação da atualização:', result.acknowledged)
# Verificando a alteração
cursor = collection.find({'tipo': 'Aluno'})
print('\tDocumentos alterados:')
########
# Deletando um conjunto de documentos no BD
########
print('\nDELETANDO UM CONJUNTO DE DOCUMENTOS NO BD\n - delete_many\n')
# delete_many
#
# Deleta um conjunto de documentos coincidem com os dados buscados
#
# Prepara um dicionário com os campos a serem buscados
consulta = {'tipo': 'Aluno'}