initial creation
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
#!/usr/bin/env python
|
||||
import re
|
||||
from pymongo import MongoClient, errors
|
||||
|
||||
FIELD_NAMES = (
|
||||
'termnumber lastname firstname '
|
||||
'birthdate '
|
||||
'deathdate birthplace birthstate '
|
||||
'termstartdate '
|
||||
'termenddate '
|
||||
'party'
|
||||
).split() # <1>
|
||||
|
||||
mc = MongoClient() # <2>
|
||||
|
||||
try:
|
||||
mc.drop_database("presidents") # <3>
|
||||
except errors.PyMongoError as err:
|
||||
print(err)
|
||||
|
||||
db = mc["presidents"] # <4>
|
||||
|
||||
coll = db.presidents # <5>
|
||||
|
||||
with open('../DATA/presidents.txt') as presidents_in: # <6>
|
||||
for line in presidents_in:
|
||||
flds = line[:-1].split(':')
|
||||
kvpairs = zip(FIELD_NAMES, flds)
|
||||
record_dict = dict(kvpairs)
|
||||
coll.insert_one(record_dict) # <7>
|
||||
|
||||
print(db.list_collection_names()) # <8>
|
||||
print()
|
||||
|
||||
abe = coll.find_one({'termnumber': '16'}) # <9>
|
||||
print(abe, '\n')
|
||||
|
||||
for field in FIELD_NAMES:
|
||||
print("{0:15s} {1}".format(field.upper(), abe[field])) # <10>
|
||||
|
||||
print('-' * 50)
|
||||
|
||||
for president in coll.find(): # <11>
|
||||
print("{0[firstname]:25s} {0[lastname]:30s}".format(president))
|
||||
print('-' * 50)
|
||||
|
||||
rx_lastname = re.compile('^roo', re.IGNORECASE)
|
||||
for president in coll.find({'lastname': rx_lastname}): # <12>
|
||||
print("{0[firstname]:25s} {0[lastname]:30s}".format(president))
|
||||
print('-' * 50)
|
||||
|
||||
for president in coll.find({"birthstate": 'Virginia'}): # <13>
|
||||
print("{0[firstname]:25s} {0[lastname]:30s}".format(president))
|
||||
|
||||
print('-' * 50)
|
||||
print("removing Millard Fillmore")
|
||||
result = coll.delete_one({'lastname': 'Fillmore'}) # <14>
|
||||
print(result)
|
||||
result = coll.delete_one({'lastname': 'Roosevelt'}) # <14>
|
||||
print(result)
|
||||
print('-' * 50)
|
||||
|
||||
|
||||
result = coll.delete_one({'lastname': 'Bush'})
|
||||
print(dir(result))
|
||||
print()
|
||||
|
||||
result = coll.count_documents({}) # <15>
|
||||
print(result)
|
||||
|
||||
|
||||
for president in coll.find(): # <11>
|
||||
print("{0[firstname]:25s} {0[lastname]:30s}".format(president))
|
||||
print('-' * 50)
|
||||
|
||||
animals = db.animals
|
||||
|
||||
print(animals, '\n')
|
||||
|
||||
animals.insert_one({'name': 'wombat', 'country': 'Australia'})
|
||||
animals.insert_one({'name': 'ocelot', 'country': 'Mexico'})
|
||||
animals.insert_one({'name': 'honey badger', 'country': 'Iran'})
|
||||
|
||||
for doc in animals.find():
|
||||
print(doc['name'])
|
||||
Reference in New Issue
Block a user