日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

学习笔记(十八)——MongoDB(CRUD)与Python交互

發(fā)布時(shí)間:2025/3/21 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习笔记(十八)——MongoDB(CRUD)与Python交互 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是MongoDB?

MongoDB 是一個(gè)跨平臺(tái)的,面向文檔的數(shù)據(jù)庫(kù),是當(dāng)前 NoSQL 數(shù)據(jù)庫(kù)產(chǎn)品中最熱門的一種。它介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的產(chǎn)品。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似JSON 的 BSON 格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。其最小的單元是文檔,缺點(diǎn):比較耗內(nèi)存。

mongodb的庫(kù)、集合的操作

mongo:進(jìn)入mongo

show dbs :查看所有數(shù)據(jù)庫(kù) (前3個(gè)是配置信息)

use 數(shù)據(jù)庫(kù)名 :切換/創(chuàng)建數(shù)據(jù)庫(kù)(存在就進(jìn)入,不存在就創(chuàng)建)

db :查看所在庫(kù)

db.dropDatabase(): 刪除庫(kù)(要先進(jìn)入才能刪除)

show collections :查看當(dāng)前數(shù)據(jù)庫(kù)的集合

db.createCollection('stu') : 創(chuàng)建集合 stu:集合名

db.stu.drop() : 刪除集合 stu:集合名


MongoDB的常用操作

1、增

db.集合名稱.insert(文檔)

示例:

#插入一條數(shù)據(jù) db.stu.insert({name:'wang',age:19}) #插入多條數(shù)據(jù) db.stu.insert([{name:'wang',sex:'男',age:18},{name:'li',sex:'女',age:16},{name:'bai',sex:'男',age:19}, ])

注意:我們插入數(shù)據(jù)后,系統(tǒng)會(huì)自動(dòng)生成一個(gè)_id,我們可以在插入時(shí)更改這個(gè)id,如:

db.stu.insert({_id:1,name:'wang',age:19})

2、查

1、查詢所有數(shù)據(jù)

db.stu.find() 整體查詢db.stu.find().pretty 格式化顯示,美觀查詢

2、條件查詢

db.stu.find({name:'wang'},{age:1}) 顯示滿足姓名為'wang'的年齡db.stu.find({name:'wang'},{age:0}) 不顯示滿足姓名為'wang'的年齡

and條件、 or條件(注意在使用and或or前不能漏掉$)

db.students.find({$or:[{},{}]}) db.students.find({$or:[{$and:[{},{}]},{$and:[{},{}]}]})

$gt:大于
$lt:小于
$gte:大于或等于
$lte:小于或等于
$ne:不等于

示例:

db.stu.find({$or:[{$and:[{sex:'女'},{age:18}}]}, #條件1{&and:[{sez:'男'},{age:{$gt:18}}]} #條件2] }) 查詢滿足條件1或者條件2的數(shù)據(jù) 條件1:性別女并且年齡18歲 條件2:性別男并且年齡大于18

3、改

$set:有就修改,沒(méi)有就創(chuàng)建

db.stu.update({name:'wang'},{name:wangwang}) 只會(huì)修改一條數(shù)據(jù),并且其他數(shù)據(jù)也沒(méi)了 db.stu.update({name:'wang'},{$set:{age:25}}) 只會(huì)修改一條數(shù)據(jù),并且其他數(shù)據(jù)保留 db.stu.update({name:'bai'},{$set:{age:25}},{multi:true}) 會(huì)修改多條(所有滿足條件)數(shù)據(jù),并且其他數(shù)據(jù)數(shù)據(jù)保留

4、刪

db.stu.remove({age:25},{justOne:true}) 只刪除符合條件的第一條數(shù)據(jù) 注意justOne的大小寫 db.stu.remove({age:25}) 刪除符合條件的所有數(shù)據(jù) db.stu.remove({}) 刪除所有數(shù)據(jù)

Python操作MongoDB

#準(zhǔn)備--------------------------------------------------------#導(dǎo)入模塊 import pymongo #systemctl start mongodb.service 開啟服務(wù) #1、建立連接 client = pymongo.MongoClient('127.0.0.1',27017) #2、指定數(shù)據(jù)庫(kù) db = client['mydb'] #3、指定集合 collection = db['stu']#操作---------------------------------------------------------#增 #插入一條 collection.insert_one({'name':'wu','sex':'男','age':18}) #插入多條 collection.insert_many([{'name':'wang','sex':'男','age':18},{'name':'li','sex':'女','age':16},{'name':'bai','sex':'男','age':19}, ])#改 #修改一條 collection.update_one({'name':'wang'},{'$set':{'age':20}}) #修改多條 collection.update_many({'name':'li'},{'$set':{'age':21}})#刪 #刪除一條滿足條件 collection.delete_one({'name':'li'}) #刪除多條滿足條件 collection.delete_many({'name':'li'}) #刪除所有 collection.delete_many({})#查 data = collection.find() for i in data:print(i)

總結(jié)

以上是生活随笔為你收集整理的学习笔记(十八)——MongoDB(CRUD)与Python交互的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。