MongoDB與Python的交互

安裝python包

sudo pip3 install pymongo

# mongodb與python的交互
#  pip3 intsall pymongo
import pymongo
from bson.objectid import ObjectId

#創(chuàng)建mongo客戶端鏈接
mongoConn = pymongo.MongoClient('localhost',27017)
# 第二種
# mongoConn = pymongo.MongoClient('mongodb://localhost:27017/')

#有賬號(hào)和密碼的連接
#mongoConn = pymongo.MongoClient('mongodb://user:paw@localhost:27017/')

#操作數(shù)據(jù)庫(kù)下的集合
#獲取要操作的數(shù)據(jù)庫(kù)
# use_db = mongoConn.數(shù)據(jù)庫(kù)名稱
use_db = mongoConn.mongotest
# use_db = mongoConn['mongotest']

#獲取數(shù)據(jù)庫(kù)下要操作的集合
use_col = use_db.class1804
# use_col = use_db['class1804']

文檔操作

# 增
def add_data():
document = {
# '_id':'2e761r27e1' 指定id
'name':'liyong',
'age':20,
'gender':'男',
'class':'1804',
}

document1 = {
'name':'lihua',
'age':22,
'gender':'男',
'class':'1804',
}
#插入單條(result直接返回一個(gè)id串)
# result = use_col.insert(document)
# use_col.insert_one(document)
#插入多條(result直接返回list(Object(...),Object(...))
result = use_col.insert([document,document1])
# use_col.insert_many([document,document1])
#也可以使用save
# use_col.save(document)
print(result)
# 刪def delete_data():#刪除一條#result = use_col.delete_one({})# result = use_col.remove({'name':'liyong'},multi=False)# print(result)#刪除多條# result = use_col.delete_many({})# multi=False刪除一條,multi=True刪除多條,result = use_col.remove({'name':'liyong'})print(result)

# 改
def update_data():
#默認(rèn)情況下只修改一條
# result = use_col.update({'name':'liyong'},{'$set':{'age':23}})
# print(result)
#全文檔更新只修改一條
# result = use_col.update({'name':'liyong'},{'name':'lisi','age':23})
# print(result)
#更新超照到的全部結(jié)果修改多條
# result = use_col.update_many({'name':'liyong'},{'$set':{'age':23}})
# print(result)
# 使用save做更新操作,全文檔更新
#注意:name 'ObjectId' is not defined,導(dǎo)入Bson模塊下的objectid
result = use_col.save(
{'_id':ObjectId("5b836b9711575e79be9af0c7"),
'name':'wangwu'}
)

# 查

def find_data():
# 使用find查詢,會(huì)返回一個(gè)cursor?qū)ο螅?#<pymongo.cursor.Cursor object at 0x7fa13d988e10>
# 我們要拿到數(shù)據(jù),需要遍歷
# result = use_col.find({'name':'liyong'})
# print(result)
# print([i for i in result])

# result = use_col.find_one_and_delete()
# result = use_col.find_one_and_replace()
# result = use_col.find_one_and_update()

#find_one查詢時(shí),直接返回一個(gè)字典
# result = use_col.find_one({'name':'liyong'})
# print(result)
# print(type(result))

#跳過(guò)和限制查詢s
# result = use_col.find({}).limit(4).skip(2).sort([("age",1),("name",1)])
result = use_col.find({}).limit(4).skip(2).sort("age",1).sort("name",1)
print([i for i in result])

# for dict in result:
# print(dict)

if __name__ == '__main__':
# add_data()
# update_data()
# find_data()
# delete_data()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • mongodb與python的交互 pip3 intsall pymongo import pymongofrom...
    恬恬i阿萌妹O_o閱讀 375評(píng)論 0 0
  • Mongodb的安裝及使用(一)Mongodb 與 python 的交互(二)mongodb數(shù)據(jù)庫(kù)備份和恢復(fù)(三)...
    程猿先生閱讀 563評(píng)論 0 2
  • 如果想要做到MongoDB與python的交互,我們首先需要安裝一個(gè)包: 接下來(lái)我們通過(guò)以下案例,實(shí)現(xiàn)與Pytho...
    田小田txt閱讀 199評(píng)論 0 0
  • 一,首先引入庫(kù) 在cmd中運(yùn)行:pip install pymongo 1,連接數(shù)據(jù)庫(kù) 2,查詢文檔 3,更新文檔
    Xxxx_y閱讀 369評(píng)論 0 1
  • 一、MongoDB簡(jiǎn)介 1.概述 ? MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),由C++語(yǔ)言編寫(xiě)。旨在為WE...
    鄭元吉閱讀 1,122評(píng)論 0 2

友情鏈接更多精彩內(nèi)容