掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
深入理解MongoDB基本操作及使用Python實現(xiàn)連接與基礎操作

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站建設、成都網(wǎng)站制作、常山網(wǎng)絡推廣、重慶小程序開發(fā)、常山網(wǎng)絡營銷、常山企業(yè)策劃、常山品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供常山建站搭建服務,24小時服務熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
MongoDB是一個基于分布式文件存儲的NoSQL數(shù)據(jù)庫,由C++語言編寫,旨在為Web應用提供可擴展的高性能數(shù)據(jù)存儲解決方案,與傳統(tǒng)的關系型數(shù)據(jù)庫不同,MongoDB使用文檔存儲結構,數(shù)據(jù)以JSON格式存儲,具有高度靈活性和可擴展性。
1、數(shù)據(jù)庫操作
(1)創(chuàng)建數(shù)據(jù)庫:在MongoDB中,數(shù)據(jù)庫會在首次向數(shù)據(jù)庫中插入數(shù)據(jù)時自動創(chuàng)建。
(2)查看數(shù)據(jù)庫列表:使用命令 show dbs 或 db.getMongo().getDBs()。
(3)切換數(shù)據(jù)庫:使用命令 use 數(shù)據(jù)庫名。
(4)刪除數(shù)據(jù)庫:使用命令 db.dropDatabase()。
2、集合操作
(1)創(chuàng)建集合:在MongoDB中,集合會在首次向集合中插入數(shù)據(jù)時自動創(chuàng)建。
(2)查看集合列表:使用命令 show collections 或 db.getCollectionNames()。
(3)刪除集合:使用命令 db.集合名.drop()。
3、文檔操作
(1)插入文檔:使用命令 db.集合名.insertOne({}) 或 db.集合名.insertMany([{}, {}])。
(2)查詢文檔:使用命令 db.集合名.find({})。
(3)更新文檔:使用命令 db.集合名.updateOne({查詢條件}, {更新內(nèi)容}) 或 db.集合名.updateMany({查詢條件}, {更新內(nèi)容})。
(4)刪除文檔:使用命令 db.集合名.deleteOne({查詢條件}) 或 db.集合名.deleteMany({查詢條件})。
在Python中,可以使用pymongo庫連接MongoDB數(shù)據(jù)庫并進行操作。
1、安裝pymongo庫
使用pip命令安裝pymongo庫:
pip install pymongo
2、連接MongoDB數(shù)據(jù)庫
使用以下代碼連接本地MongoDB數(shù)據(jù)庫:
from pymongo import MongoClient
創(chuàng)建MongoClient實例,連接本地MongoDB數(shù)據(jù)庫
client = MongoClient("mongodb://localhost:27017/")
獲取數(shù)據(jù)庫對象
db = client["數(shù)據(jù)庫名"]
3、判斷數(shù)據(jù)庫和集合是否存在
(1)判斷數(shù)據(jù)庫是否存在:
獲取數(shù)據(jù)庫列表
dblist = client.list_database_names()
判斷數(shù)據(jù)庫是否存在
if "數(shù)據(jù)庫名" in dblist:
print("數(shù)據(jù)庫已存在!")
(2)判斷集合是否存在:
獲取集合列表
collist = db.list_collection_names()
判斷集合是否存在
if "集合名" in collist:
print("集合已存在!")
4、插入數(shù)據(jù)
(1)插入單個文檔:
創(chuàng)建集合
mycol = db["集合名"]
插入單個文檔
mydict = {"name": "xiaowang", "age": 34}
x = mycol.insert_one(mydict)
打印插入的文檔ID
print(x.inserted_id)
(2)插入多個文檔:
創(chuàng)建集合
mycol = db["集合名"]
插入多個文檔
mylist = [
{"name": "xiaowang", "age": 34},
{"name": "heihei", "age": 54}
]
批量插入文檔
x = mycol.insert_many(mylist)
打印插入的文檔ID列表
print(x.inserted_ids)
5、查詢數(shù)據(jù)
(1)查詢所有文檔:
查詢所有文檔
for x in mycol.find():
print(x)
(2)根據(jù)條件查詢文檔:
根據(jù)條件查詢文檔
myquery = {"name": "xiaowang"}
for x in mycol.find(myquery):
print(x)
6、更新數(shù)據(jù)
(1)更新單個文檔:
更新單個文檔
myquery = {"name": "xiaowang"}
newvalues = {"$set": {"age": 40}}
mycol.update_one(myquery, newvalues)
查詢更新后的文檔
for x in mycol.find(myquery):
print(x)
(2)更新多個文檔:
更新多個文檔
myquery = {"age": {"$gt": 30}}
newvalues = {"$set": {"age": 50}}
mycol.update_many(myquery, newvalues)
查詢更新后的文檔
for x in mycol.find(myquery):
print(x)
7、刪除數(shù)據(jù)
(1)刪除單個文檔:
刪除單個文檔
myquery = {"name": "xiaowang"}
mycol.delete_one(myquery)
(2)刪除多個文檔:
刪除多個文檔
myquery = {"age": {"$gt": 50}}
mycol.delete_many(myquery)
通過以上內(nèi)容,我們可以了解到MongoDB的基本操作以及如何使用Python連接MongoDB并進行基礎操作,在實際開發(fā)過程中,根據(jù)業(yè)務需求,我們可以靈活運用這些操作實現(xiàn)數(shù)據(jù)的管理和查詢。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流