Python操作MongoDb數(shù)據(jù)庫(kù)流程詳解
1.簡(jiǎn)介
MongoDB是一個(gè)基于分布式文件存儲(chǔ)的文檔數(shù)據(jù)庫(kù),可以說(shuō)是非關(guān)系型(NoSQL,Not Only SQL)數(shù)據(jù)庫(kù)中比較像關(guān)系型數(shù)據(jù)庫(kù)的一個(gè),具有免費(fèi)、操作簡(jiǎn)單、面向文檔、自動(dòng)分片、可擴(kuò)展性強(qiáng)、查詢功能強(qiáng)大等特點(diǎn),對(duì)大數(shù)據(jù)處理支持較好,旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。
MongoDB將數(shù)據(jù)存儲(chǔ)為一個(gè)文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對(duì)組成。MongoDB文檔類似于JSON對(duì)象。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組。
2.應(yīng)用
MongoDB數(shù)據(jù)庫(kù)可以到網(wǎng)站https://www.mongodb.org/downloads下載,安裝之后打開(kāi)命令提示符環(huán)境并切換到MongoDB安裝目錄中的server3.2bin文件夾,然后執(zhí)行命令mongod --dbpath D:data --journal -- storageEngine=mmapv1啟動(dòng)MongoDB,當(dāng)然需要首先在D盤(pán)根目錄下新建文件夾data。
讓剛才那個(gè)命令提示符環(huán)境始終處于運(yùn)行狀態(tài),然后再打開(kāi)一個(gè)命令提示符環(huán)境,執(zhí)行mongo命令連接MongoDB數(shù)據(jù)庫(kù),如果連接成功的話,會(huì)顯示一個(gè)>符號(hào)作為提示符,之后就可以輸入MongoDB命令了。
打開(kāi)或創(chuàng)建數(shù)據(jù)庫(kù)students
>use students
在數(shù)據(jù)庫(kù)中插入數(shù)據(jù)
>zhangsan = {‘name’: ‘Zhangsan’, ‘a(chǎn)ge’: 18, ‘gender’: ‘male’}>db.students.insert(zhangsan)>lisi = {‘name’: ‘Lisi’, ‘a(chǎn)ge’: 19, ‘gender’: ‘male’}>db.students.insert(lisi)
查詢數(shù)據(jù)庫(kù)中的記錄
>db.students.insert(lisi)
查詢數(shù)據(jù)庫(kù)中的記錄
>db.students.find()
查看系統(tǒng)中所有數(shù)據(jù)庫(kù)名稱
>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 : 應(yīng)用pymongo模塊操作MongoDB數(shù)據(jù)庫(kù)# 導(dǎo)入模塊import pymongo# 連接數(shù)據(jù)庫(kù),27017是默認(rèn)端口client = pymongo.MongoClient('localhost', 27017)# 獲取數(shù)據(jù)庫(kù)db = client.students# 打印數(shù)據(jù)集合名稱列表print(db.collection_names)# 獲取數(shù)據(jù)集合res = db.students.find()print(res)for item in res: # 遍歷數(shù)據(jù) 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'}))# 記錄總數(shù)print(db.students.find().count())# 刪除一條記錄db.students.remove({'name': 'Wangwu'})# 創(chuàng)建索引db.students.create_index([('name', pymongo.ASCENDING)])# 更新數(shù)據(jù)庫(kù)db.students.update({'name': 'Zhangsan'}, {'$set': {'age': 25}})# 清空數(shù)據(jù)庫(kù)db.students.remove()# 插入多條數(shù)據(jù)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])# 對(duì)查詢結(jié)果排序for item in db.students.find().sort('name', pymongo.ASCENDING): print(item)# 入口函數(shù)if __name__ == ’__main__’: pass
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP中常用的22個(gè)FSO文件操作函數(shù)整理2. 無(wú)線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁(yè)3. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp4. .Net core 的熱插拔機(jī)制的深入探索及卸載問(wèn)題求救指南5. SharePoint Server 2019新特性介紹6. html清除浮動(dòng)的6種方法示例7. 讀大數(shù)據(jù)量的XML文件的讀取問(wèn)題8. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過(guò)程解析9. React+umi+typeScript創(chuàng)建項(xiàng)目的過(guò)程10. Vue+elementUI下拉框自定義顏色選擇器方式
