Python操作MongoDb數(shù)據(jù)庫流程詳解
1.簡介
MongoDB是一個基于分布式文件存儲的文檔數(shù)據(jù)庫,可以說是非關(guān)系型(NoSQL,Not Only SQL)數(shù)據(jù)庫中比較像關(guān)系型數(shù)據(jù)庫的一個,具有免費、操作簡單、面向文檔、自動分片、可擴展性強、查詢功能強大等特點,對大數(shù)據(jù)處理支持較好,旨在為WEB應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案。
MongoDB將數(shù)據(jù)存儲為一個文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成。MongoDB文檔類似于JSON對象。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組。
2.應(yīng)用
MongoDB數(shù)據(jù)庫可以到網(wǎng)站https://www.mongodb.org/downloads下載,安裝之后打開命令提示符環(huán)境并切換到MongoDB安裝目錄中的server\3.2\bin文件夾,然后執(zhí)行命令mongod --dbpath D:\data --journal -- storageEngine=mmapv1啟動MongoDB,當然需要首先在D盤根目錄下新建文件夾data。
讓剛才那個命令提示符環(huán)境始終處于運行狀態(tài),然后再打開一個命令提示符環(huán)境,執(zhí)行mongo命令連接MongoDB數(shù)據(jù)庫,如果連接成功的話,會顯示一個>符號作為提示符,之后就可以輸入MongoDB命令了。
打開或創(chuàng)建數(shù)據(jù)庫students
>use students
在數(shù)據(jù)庫中插入數(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ù)庫中的記錄
>db.students.insert(lisi)
查詢數(shù)據(jù)庫中的記錄
>db.students.find()
查看系統(tǒng)中所有數(shù)據(jù)庫名稱
>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ù)庫
# 導(dǎo)入模塊
import pymongo
# 連接數(shù)據(jù)庫,27017是默認端口
client = pymongo.MongoClient("localhost", 27017)
# 獲取數(shù)據(jù)庫
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ù)庫
db.students.update({"name": "Zhangsan"}, {"$set": {"age": 25}})
# 清空數(shù)據(jù)庫
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])
# 對查詢結(jié)果排序
for item in db.students.find().sort("name", pymongo.ASCENDING):
print(item)
# 入口函數(shù)
if __name__ == '__main__':
pass
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python人工智能使用RepVgg實現(xiàn)圖像分類示例詳解
這篇文章主要介紹了python人工智能使用RepVgg實現(xiàn)圖像分類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10
Python的爬蟲包Beautiful Soup中用正則表達式來搜索
這篇文章主要介紹了Python的爬蟲包Beautiful Soup中用正則表達式來搜索的技巧,包括使用正則表達式去搜索多種可能的關(guān)鍵字以及查找屬性值未知的標簽等,需要的朋友可以參考下2016-01-01
Python操作Redis數(shù)據(jù)庫的超詳細教程
大家應(yīng)該都知道redis是一個基于內(nèi)存的高效的鍵值型非關(guān)系數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關(guān)于Python操作Redis的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-06-06
Windows 8.1 64bit下搭建 Scrapy 0.22 環(huán)境
這篇文章主要介紹了Windows 8.1 64bit下搭建 Scrapy 0.22 環(huán)境,需要的朋友可以參考下2018-11-11
python docx的超鏈接網(wǎng)址和鏈接文本操作
這篇文章主要介紹了python docx的超鏈接網(wǎng)址和鏈接文本操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Python爬蟲實現(xiàn)網(wǎng)頁信息抓取功能示例【URL與正則模塊】
這篇文章主要介紹了Python爬蟲實現(xiàn)網(wǎng)頁信息抓取功能,涉及Python使用URL與正則模塊針對網(wǎng)頁信息的讀取與匹配相關(guān)操作技巧,需要的朋友可以參考下2017-05-05

