1 mongodb 數據庫的安裝
2 python 連接 mongodb 的驅動程序,pip install pymongo
#!/usr/bin/python3 #TODO: import os import pymongo import json myclient = pymongo.MongoClient('mongodb://localhost:27017/') #連接mangodb數據庫 dblist = myclient.list_database_names() #讀取 MongoDB 中的所有數據庫 #插入字典 單個數據 def insert_data(dict_rule): myrule.insert_one(dict_rule) # 集合中插入文檔使用 insert_one() 方法,該方法的第一參數是字典 name => value 對 return #插入字典 多個數據 def insert_many(dict_list): # 該方法的第一參數是字典列表 myrule.insert_many(dict_list) return #查詢字典 def select_data(field_name,value): result = myrule.find_one({field_name:value}) print(result) return result #修改字典 def change_data(field_name,old_value,new_value): myquery = {field_name: old_value} new_value = {myrule: {field_name:new_value}} myrule.update_one(myquery, new_value) # update_one() 方法修改文檔中的記錄。該方法第一個參數為查詢的條件,第二個參數為要修改的字段 return # 排序字典 def sort_data(field_name): for x in myrule.find().sort(field_name,-1): #1 為升序,-1 為降序,默認為升序。 print(x) def delete_data(field_name,value): myquery = {field_name,value} myrule.delete_one(myquery) #delete_one() 方法來刪除一個文檔,該方法第一個參數為查詢對象,指定要刪除哪些數據。 #加載json文件 def load_json(file_name): with open(file_name,'r') as f: text = json.loads(f) print(f) for line in text: print(line) if __name__ == '__main__': # 連接數據庫 mydb = myclient["sets"] # 打開名稱為 sets 的數據庫 myrule = mydb['popblock'] # 打開 sets 數據庫下的名稱為 popblock 的集合 # 數據庫不存在 if "sets" not in dblist: mydict = {"rule_id": "1"} insert_data(mydict) # MongoDB 中,集合只有在內容插入后才會創建! 創建集合(數據表)后要再插入一個文檔(記錄),集合才會真正創建。 print("數據庫創建成功!") # 數據庫存在 else: file_name = r'D:\xxxxxx\xxxxxxxxx.json' with open(file_name, 'r', encoding='UTF-8') as f: json_data = json.loads(f.read()) for line in json_data['rules']: insert_data(line) print("數據庫更新完成!") #查詢 select_data('xxxxxxx','xxxxx')
3 pycharm 安裝 mongo explorer 插件
4.數據庫的連接、創建、增、刪、改、查等:
#coding=utf-8 #C:\MongoDB import pymongo import csv import xlrd #連接數據庫 myclient = pymongo.MongoClient("mongodb://localhost:27017") #1、創建數據庫=給Excel命名 mydb = myclient["softcenter"] #2、在文件下創建表單=在Excel中添加sheet sheet_tabs_soft = mydb['softinfo'] #3、將excel中的軟件數據存入到數據庫中 file_path = r'C:\Users\Desktop\soft.xlsx' xlsx = xlrd.open_workbook(file_path) #打開文件 sheet1 = xlsx.sheets()[0] # 獲得第1張sheet,索引從0開始 row =sheet1.nrows for line in range(row): rowdate = sheet1.row_values(line) # i行的list data = { 'name': rowdate[1], 'appid': rowdate[2] } sheet_tabs_soft.insert_one(data) #5、將數據庫中存放的數據打印輸出,find函數中特殊字符的使用方法 for item in sheet_tabs_soft.find({'name':'愛奇藝'}): print(item)
可以調用count()
方法來統計查詢結果的條數。
count = collection.find({'gender': "male"}).count() print(count)