python?操作?mongodb?數(shù)據(jù)庫(kù)詳情
更新時(shí)間:2022年04月19日 17:34:03 作者:autofelix
這篇文章主要介紹了python?操作?mongodb?數(shù)據(jù)庫(kù)詳情,通過(guò)鏈接數(shù)據(jù)庫(kù),創(chuàng)建數(shù)據(jù)庫(kù)展開(kāi)內(nèi)容詳細(xì),具有一定的參考價(jià)值,需要的的小伙伴可以參考一下
一、安裝
pip install pymongo
二、連接數(shù)據(jù)庫(kù)
import pymongo
# 方式一
client = pymongo.MongoClient('mongodb://localhost:27017')
# 方式二
client = pymongo.MongoClient('localhost',27017)
# 方式三,有密碼認(rèn)證
client = pymongo.MongoClient('localhost', 27017, username='xxx', password='xxx')三、創(chuàng)建數(shù)據(jù)庫(kù)
import pymongo
# 連接
client = pymongo.MongoClient('mongodb://localhost:27017')
# 創(chuàng)建test數(shù)據(jù)庫(kù)
db = client.test # 或者 db = client['test']
print(db)四、所有數(shù)據(jù)庫(kù)
import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017')
dbs = client.list_database_names()五、創(chuàng)建集合
- 也就是數(shù)據(jù)庫(kù)中的表
import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017')
# 創(chuàng)建test數(shù)據(jù)庫(kù)
db = client.test
# 創(chuàng)建表
collections = db.user # 或者 collections = db['user']
# 刪除表
collections.drop()六、插入數(shù)據(jù)
- insert_one:插入一條數(shù)據(jù)
- insert_many:插入多條數(shù)據(jù)
import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017')
# 創(chuàng)建test數(shù)據(jù)庫(kù)
db = client.test
# 創(chuàng)建表
collections = db.user
# 創(chuàng)建文檔數(shù)據(jù)
user1 = {
'name': 'autofelix',
'age': '25',
'height': '172',
'weight': '60'
}
user2 = {
'name': '飛兔小哥',
'age': '28',
'height': '182',
'weight': '70'
}
# 插入一條文檔集合
result = collections.insert_one(user1)
print(result)
print(result.inserted_id)
# 插入多條文檔集合
result = collections.insert_many([user1, user2])
print(result)
print(result.inserted_ids)七、查詢(xún)數(shù)據(jù)
- find:查詢(xún)多條數(shù)據(jù)
- find_one:查詢(xún)一條數(shù)據(jù)
import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017')
# 創(chuàng)建test數(shù)據(jù)庫(kù)
db = client.test
# 創(chuàng)建表
collections = db.user
# 查詢(xún)所有
collections.find()
# 查詢(xún)最近一條
collections.find_one()
# 根據(jù)條件查詢(xún)
collections.find_one({'age':25})八、高級(jí)查詢(xún)
import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017')
# 創(chuàng)建test數(shù)據(jù)庫(kù)
db = client.test
# 創(chuàng)建表
collections = db.user
# 跳過(guò)第一條查到的數(shù)據(jù)
collections.find({'age':{'$gt':10}},['height','age']).skip(1)
# limit限制查詢(xún)條數(shù)
collections.find({'age':{'$gt':10}},['height','age']).limit(1)
# 多條件查詢(xún)
collections.find_one({'height':{'$gt':150},'age':{'$lt':26,'$gt':10}})
# in查詢(xún),查詢(xún)年齡在25,26,32的數(shù)據(jù)
collections.find({'age':{'$in':[25, 26, 32]}})
# or查詢(xún),查詢(xún)年齡小于等于23或者大于等于29的數(shù)據(jù)
collections.find({'$or':[{'age':{'$lte':23}}, {'age':{'$gte':29}}]})
# exists查詢(xún)
collections.find({'age':{'$exists':True}})
# 正則查詢(xún)
collections.find({'name':{'$regex':r'.*auto.*'}})九、count統(tǒng)計(jì)
import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017')
# 創(chuàng)建test數(shù)據(jù)庫(kù)
db = client.test
# 創(chuàng)建表
collections = db.user
# 統(tǒng)計(jì)集合中總共有多少條數(shù)據(jù)
collections.find().count()
# 統(tǒng)計(jì)集合中年齡大于10歲的共有多少條數(shù)據(jù)
collections.find({'age':{'$gt':10}}).count()十、修改數(shù)據(jù)
- update_one:修改一條數(shù)據(jù)
- update_many:修改多條數(shù)據(jù)
import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017')
# 創(chuàng)建test數(shù)據(jù)庫(kù)
db = client.test
# 創(chuàng)建表
collections = db.user
# 修改一條數(shù)據(jù)
collections.update_one({'name': 'autofelix'}, {'$set': {'name': '大神'}})
# 修改多條數(shù)據(jù)
collections.update_many({'name': 'autofelix'}, {'$set': {'name': '大神'}})十一、刪除數(shù)據(jù)
- delete_one:刪除一條數(shù)據(jù)
- delete_many:刪除多條數(shù)據(jù)
import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017')
# 創(chuàng)建test數(shù)據(jù)庫(kù)
db = client.test
# 創(chuàng)建表
collections = db.user
# 刪除一條數(shù)據(jù)
collections.delete_one({'name': 'autofelix'})
# 刪除多條數(shù)據(jù)
collections.delete_many({'name': 'autofelix'})
# 刪除所有數(shù)據(jù)
collections.delete_many({})十二、數(shù)據(jù)排序
import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017')
# 創(chuàng)建test數(shù)據(jù)庫(kù)
db = client.test
# 創(chuàng)建表
collections = db.user
# 對(duì)字段 age 按升序排序
collections.find().sort('age')
# 對(duì)字段 age 按降序排序
collections.find().sort('age', -1)
# 多字段排序
collections.find().sort((('age',pymongo.ASCENDING),('height',pymongo.ASCENDING)))到此這篇關(guān)于python 包操作 mongodb 數(shù)據(jù)庫(kù)詳情的文章就介紹到這了,更多相關(guān)python 操作mongodb內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python制作一個(gè)簡(jiǎn)易的遠(yuǎn)控終端
這篇文章主要為大家詳細(xì)介紹了如何使用Python語(yǔ)言制作一個(gè)簡(jiǎn)易的遠(yuǎn)控終端,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下2023-04-04
解決python字典對(duì)值(值為列表)賦值出現(xiàn)重復(fù)的問(wèn)題
今天小編就為大家分享一篇解決python字典對(duì)值(值為列表)賦值出現(xiàn)重復(fù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
詳解解決Python memory error的問(wèn)題(四種解決方案)
這篇文章主要介紹了詳解解決Python memory error的問(wèn)題(四種解決方案),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Python采集某度貼吧排行榜實(shí)戰(zhàn)示例
這篇文章主要為大家介紹了Python采集某度貼吧排行榜實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
使用python 對(duì)驗(yàn)證碼圖片進(jìn)行降噪處理
今天小編就為大家分享一篇使用python 對(duì)驗(yàn)證碼圖片進(jìn)行降噪處理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12

