Exemplo de CRUD no MongoDB

Exemplo de CRUD completo em MongoDB

Autor: Christiano Anderson Propus Data Science

Estabelecendo a conexão com o banco


In [1]:
from pymongo import MongoClient

cli = MongoClient()

db = cli['treinamento']

col = db['cadastro']

Definindo um documento para ser inserido


In [2]:
cad = {
    'nome': 'Christiano Anderson',
    'empresa': 'Propus Data Science',
    'cursos': ['python','mongodb']
}

Inserindo o documento na base


In [3]:
cad_id = col.insert_one(cad)

In [4]:
print cad_id.inserted_id


56d49be0cf27e37f279d1a86

Recuperando documentos


In [5]:
cadastro = db['cadastro']

In [12]:
res = cadastro.find_one({})

print res['empresa'],res['nome']


Propus Data Science Christiano Anderson

Inserindo outros documentos


In [13]:
col.insert_one({
        'nome':'Carolina',
        'idade': 29,
        'empresa': 'ACME',
        'cursos': ['mongodb','ruby'],
        'contatos': {
            'celular':'5199998888',
            'email': 'carol@tmp.com',
            'ramal': '2222'
            }
    })


Out[13]:
<pymongo.results.InsertOneResult at 0x7f9b5c83b0f0>

In [14]:
col.insert_one({
        'nome':'Juliana',
        'idade': 25,
        'empresa': 'ACME',
        'cursos': ['mongodb','ruby','python'],
        'contatos': {
            'celular':'5199554433',
            'email': 'july@tmp.com',
            'ramal': '2221'
            }
    })


Out[14]:
<pymongo.results.InsertOneResult at 0x7f9b5c83b280>

In [15]:
col.insert_one({
        'nome':'Rafael',
        'idade': 30,
        'empresa': 'XYZ',
        'cursos': ['mongodb','php'],
        'contatos': {
            'celular':'5188882222',
            'email': 'rafael@xyz.com',
            'ramal': '5511',
            'tel_residencial': '5122223333'
            }
    })


Out[15]:
<pymongo.results.InsertOneResult at 0x7f9b5c83b0a0>

Pesquisando todos os usuários


In [18]:
resultados = col.find({})
for r in resultados:
    print r['nome'], r['']


Christiano Anderson
Carolina
Juliana
Rafael

Pesquisando quem tem Python na matéria


In [19]:
resultados = col.find({'cursos':'python'})

for r in resultados:
    print r['nome'], r['cursos']


Christiano Anderson [u'python', u'mongodb']
Juliana [u'mongodb', u'ruby', u'python']

Pesquisando quem tem menos de 28 anos


In [20]:
resultados = col.find({'idade': {'$lt': 28}})

for r in resultados:
    print r['nome']


Juliana

Modificando documento

No exemplo abaixo, vamos adicionar cidade a um documento


In [21]:
res = col.update_one({'nome':'Christiano Anderson'},{'$set': {'cidade':'Porto Alegre'}})

print res


<pymongo.results.UpdateResult object at 0x7f9b5c7b8730>

Excluindo documento

No exemplo abaixo, vamos apagar o documento da usuária Juliana


In [22]:
count = col.count({})

print count

res = col.delete_one({'nome':'Juliana'})

count = col.count({})

print count


4
3