Python操作MongoDb數據庫流程詳解
1.簡介
MongoDB是一個基于分布式文件存儲的文檔數據庫,可以說是非關系型(NoSQL,Not Only SQL)數據庫中比較像關系型數據庫的一個,具有免費、操作簡單、面向文檔、自動分片、可擴展性強、查詢功能強大等特點,對大數據處理支持較好,旨在為WEB應用提供可擴展的高性能數據存儲解決方案。
MongoDB將數據存儲為一個文檔,數據結構由鍵值(key=>value)對組成。MongoDB文檔類似于JSON對象。字段值可以包含其他文檔,數組及文檔數組。
2.應用
MongoDB數據庫可以到網站https://www.mongodb.org/downloads下載,安裝之后打開命令提示符環境并切換到MongoDB安裝目錄中的server3.2bin文件夾,然后執行命令mongod --dbpath D:data --journal -- storageEngine=mmapv1啟動MongoDB,當然需要首先在D盤根目錄下新建文件夾data。
讓剛才那個命令提示符環境始終處于運行狀態,然后再打開一個命令提示符環境,執行mongo命令連接MongoDB數據庫,如果連接成功的話,會顯示一個>符號作為提示符,之后就可以輸入MongoDB命令了。
打開或創建數據庫students
>use students
在數據庫中插入數據
>zhangsan = {‘name’: ‘Zhangsan’, ‘age’: 18, ‘gender’: ‘male’}>db.students.insert(zhangsan)>lisi = {‘name’: ‘Lisi’, ‘age’: 19, ‘gender’: ‘male’}>db.students.insert(lisi)
查詢數據庫中的記錄
>db.students.insert(lisi)
查詢數據庫中的記錄
>db.students.find()
查看系統中所有數據庫名稱
>show dbs
3.pymongo模塊
#! /usr/bin/env python3# -*- coding:utf-8 -*-# Author : MaYi# Blog : http://www.cnblogs.com/mayi0312/# Date : 2019-12-25# Name : test01# Software : PyCharm# Note : 應用pymongo模塊操作MongoDB數據庫# 導入模塊import pymongo# 連接數據庫,27017是默認端口client = pymongo.MongoClient('localhost', 27017)# 獲取數據庫db = client.students# 打印數據集合名稱列表print(db.collection_names)# 獲取數據集合res = db.students.find()print(res)for item in res: # 遍歷數據 print(item)wangwu = {'name': 'Wangwu', 'age': 20, 'sex': 'male'}# 插入一條記錄db.students.insert(wangwu)for item in db.students.find({'name': 'Wangwu'}): # 指定查詢條件 print(item)# 獲取一條記錄print(db.students.find_one())print(db.students.find_one({'name': 'Wangwu'}))# 記錄總數print(db.students.find().count())# 刪除一條記錄db.students.remove({'name': 'Wangwu'})# 創建索引db.students.create_index([('name', pymongo.ASCENDING)])# 更新數據庫db.students.update({'name': 'Zhangsan'}, {'$set': {'age': 25}})# 清空數據庫db.students.remove()# 插入多條數據zhangsan = {'name': 'Zhangsan', 'age': 20, 'gender': 'male'}lisi = {'name': 'Lisi', 'age': 21, 'gender': 'male'}wangwu = {'name': 'Wangwu', 'age': 22, 'gender': 'female'}db.students.insert_many([zhangsan, lisi, wangwu])# 對查詢結果排序for item in db.students.find().sort('name', pymongo.ASCENDING): print(item)# 入口函數if __name__ == ’__main__’: pass
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: