mongodb與python隨手記

來源:互聯網
上載者:User

標籤:delete   pre   import   imp   字串   字元   pytho   port   地址   

在python中使用pymongo串連mongodb資料庫.

基本代碼如下:

from pymongo import MongoClientclient = MongoClient(‘127.0.0.1‘, 27017) # mongodb的地址db_name = ‘myfirstmongo‘                 # 資料庫的名字db = client[db_name]                     # 現在db就是這個資料庫了collection = db[‘testone‘]               # ‘testone‘是集合的名字,現在collection就是我們要用的集合了

查詢一條資料和簡單的分頁操作:

import jsonfrom bson import json_util as jsonbdef get_data_by_key(key):    item = collection.find({"key":key})         # 直接用集合查詢,find是mongo的方法    # print item                                # 查詢返回的item是一個對象,列印出來是<pymongo.cursor.Cursor object at 0x7f5d9bbc6f50>    info = jsonb.dumps(item)                    # 使用bjson將對象轉換成可讀的形式,現在的info是str類型    data = json.loads(info)                     # 使用json將字串轉換成python的相應類型,這裡data是list列表    return datadef get_page_data(page):    page_len = 20                               # page_len是一頁的長度,也可以作為參數傳進來    skp = (int(page)-1)*page_len                # skip是為了只查詢某一頁的,跳過之前的資料    item = collection.find().skip(skp).limit(page_len)  # 從skp開始,查詢page_len條資料    info = jsonb.dumps(item)                    # 處理資料    data = json.loads(info)                     # 處理資料
return data
get_data_by_key是通過某一個條件查詢,也可以多條件查詢.要注意key的資料類型.
增刪改等操作與上面過程類似,只需修改collection對應的操作函數.
刪除資料:collection.find_one_and_delete({‘key‘:key}),或者collection.remove({‘key‘:key})
謹慎使用remove(),她的括弧裡為空白時,會刪掉集合裡面的所有資料;
增加資料:collection.insert({‘key‘:‘123‘,‘msg‘:‘test‘}),也可插入多條,將多條資料放入列表中,將列表傳入insert()即可;
更新資料:collection.update({‘key‘:‘123‘},{‘msg‘:‘new‘},True,True),
update參數含義:第一個是查詢參數,第二個是要更新的內容,第三個是決定在沒有查到該條資料時是否建立,第四個是查詢到多條資料時是否都要更改;
更新資料還可以使用修改器,這裡不做記錄了.

mongodb與python隨手記

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.