MongoDB與python交互
阿新 • • 發佈:2017-11-08
修改 it! 代碼 開發包 mon lec 個學生 order 數據
1.Pymongo
PyMongo是Mongodb的Python接口開發包,是使用python和Mongodb的推薦方式。
官方文檔
2.安裝
進入虛擬環境
sudo pip install pymongo
或源碼安裝
python setup.py
3.使用
導入模塊
import pymongo #或者 from pymongo import MongoClient
建立於MongoClient 的連接:
client = MongoClient(‘localhost‘, 27017) # 或者 client = MongoClient(‘mongodb://localhost:27017/‘)
得到數據庫
db = client.test_database # 或者 db = client[‘test-database‘]
得到一個數據集合
collection = db.test_collection # 或者 collection = db[‘test-collection‘]
4.完成命令行項目:學生信息管理(基於Python2.7)
代碼操作
#-*- coding:utf-8 -*- import pymongo def system(): print(‘◆您將進入數據庫管理系統,數據無價、謹慎操作!◆‘) print(‘◇1:查看數據◇‘) print(‘◇2:增加數據◇‘) print(‘◇3:修改數據◇‘) print(‘◇4:刪除數據◇‘) print(‘◇5:搜索數據◇‘) print(‘●6:退出數據庫管理系統●‘) # 建立與mongodb的連接 client = pymongo.MongoClient(‘localhost‘, 27017) # 得到數據庫 stu = client[‘stu‘] # 得到一個數據集合 message = stu[‘message‘] while True: order= int(raw_input(‘請輸入相關指令:‘)) if order==1: exit = message.count() if exit==0: print(‘抱歉,數據庫中目前沒有相關數據!‘) else: for data in message.find(): content = data[‘name‘]+data[‘age‘]+data[‘sex‘] print(content) elif order ==2: name = raw_input(‘請輸入學生姓名:‘) age = raw_input(‘請輸入學生年齡:‘) sex = raw_input(‘請輸入學生性別(男/女):‘) data = { ‘name‘:name, ‘age‘:age, ‘sex‘:sex, } message.insert_one(data) print (‘添加成功!‘) elif order == 3: name = raw_input(‘請輸入要修改的學生姓名:‘) exit = message.count({‘name‘: name}) if exit != 0: age = raw_input(‘請輸入修改後的學生年齡:‘) message.update({‘name‘:name},{‘$set‘:{‘age‘:age}}) print(‘修改成功‘) else: print ‘抱歉,數據庫中沒有這個學生的信息!‘ elif order == 4: name = raw_input(‘請輸入要刪除的學生姓名:‘) exit = message.count({‘name‘: name}) if exit != 0: message.remove({‘name‘:name}) print(‘刪除成功‘) else: print ‘抱歉,數據庫中沒有這個學生的信息!‘ elif order == 5: name = raw_input(‘請輸入要查詢的學生姓名:‘) exit = message.count({‘name‘:name}) if exit!=0: data = message.find_one({‘name‘:name}) content = data[‘name‘]+data[‘age‘]+data[‘sex‘] print content else: print ‘抱歉,數據庫中沒有這個學生的信息!‘ elif order == 6: print(‘感謝您的使用!‘) break else: print(‘您的輸入有誤,請輸入有效指令(1/2/3/4/5)‘) if __name__ == ‘__main__‘: system()
測試結果
MongoDB與python交互