MongoDB與Python交互

連接

# 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/')

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

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

#獲取數(shù)據(jù)庫下要操作的集合
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直接返回一個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查詢钻注,會返回一個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查詢時撬陵,直接返回一個字典
    # result = use_col.find_one({'name':'liyong'}) 
    # print(result)
    # print(type(result))

    #跳過和限制查詢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)容合作請聯(lián)系作者
  • 序言:七十年代末舟铜,一起剝皮案震驚了整個濱河市寸齐,隨后出現(xiàn)的幾起案子弛随,更是在濱河造成了極大的恐慌,老刑警劉巖狱庇,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惊畏,死亡現(xiàn)場離奇詭異,居然都是意外死亡密任,警方通過查閱死者的電腦和手機颜启,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浪讳,“玉大人缰盏,你說我怎么就攤上這事。” “怎么了乳规?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵形葬,是天一觀的道長。 經(jīng)常有香客問我暮的,道長,這世上最難降的妖魔是什么淌实? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任冻辩,我火速辦了婚禮,結(jié)果婚禮上拆祈,老公的妹妹穿的比我還像新娘恨闪。我一直安慰自己,他們只是感情好放坏,可當(dāng)我...
    茶點故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布咙咽。 她就那樣靜靜地躺著,像睡著了一般淤年。 火紅的嫁衣襯著肌膚如雪钧敞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天麸粮,我揣著相機與錄音溉苛,去河邊找鬼。 笑死弄诲,一個胖子當(dāng)著我的面吹牛愚战,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播齐遵,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼寂玲,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了梗摇?” 一聲冷哼從身側(cè)響起拓哟,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎留美,沒想到半個月后彰檬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡谎砾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年逢倍,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片景图。...
    茶點故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡较雕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情亮蒋,我是刑警寧澤扣典,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站慎玖,受9級特大地震影響贮尖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜趁怔,卻給世界環(huán)境...
    茶點故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一湿硝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧润努,春花似錦关斜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鳍侣,卻和暖如春丁稀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拱她。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工二驰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人秉沼。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓桶雀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親唬复。 傳聞我的和親對象是個殘疾皇子矗积,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,435評論 2 348

推薦閱讀更多精彩內(nèi)容