1. 程式人生 > >MongoDB與python交互!這才是正確玩轉數據庫的正確方式!

MongoDB與python交互!這才是正確玩轉數據庫的正確方式!

恢復數據 cati ring img step ica BE ODB enable

1.Pymongo

PyMongo是Mongodb的Python接口開發包,是使用python和Mongodb的推薦方式。

官方文檔

2.安裝

技術分享圖片

技術分享圖片

  • 通過ObjectId來查找

>>> post_id ObjectId(...)
>>> posts.find_one({"_id": post_id})
{u‘date‘: datetime.datetime(...), u‘text‘: u‘My first blog post!‘, u‘_id‘: ObjectId(‘...‘), u‘author‘: u‘Mike‘, u‘tags‘: [u‘mongodb‘, u‘python‘, u‘pymongo‘]}
  • 不要轉化ObjectId的類型為String

>>> post_id_as_str = str(post_id)
>>> posts.find_one({"_id": post_id_as_str}) # No result >>>
  • 如果post_id是字符串

from bson.objectid import ObjectId 
# The web framework gets post_id from the URL and passes it as a string def get(post_id): 
 # Convert from string to ObjectId: 
 document = client.db.collection.find_one({‘_id‘: ObjectId(post_id)})

技術分享圖片

技術分享圖片

4.mongoDB其它操作

1.超級管理員

  • 為了更安全的訪問mongodb,需要訪問者提供用戶名和密碼,於是需要在mongodb中創建用戶

    采用了角色-用戶-數據庫的安全管理方式

    常用系統角色如下:

技術分享圖片

  • 啟用安全認證

    修改配置文件

sudo vi /etc/mongod.conf
  • 啟用身份驗證

    註意:keys and values之間一定要加空格, 否則解析會報錯

security:
 authorization: enabled
  • 重啟服務

sudo service mongod stop
sudo service mongod start
  • 終端連接

mongo -u ‘admin‘ -p ‘123‘ --authenticationDatabase ‘admin‘
  • 普通用戶管理

    使用超級管理員登錄,然後進入用戶管理操作

    查看當前數據庫的用戶

技術分享圖片

2.主從雙備

復制的優點

  • 復制提供了數據的冗余備份,並在多個服務器上存儲數據副本,提高了數據的可用性,並可以保證數據的安全性

  • 復制還允許從硬件故障和服務中斷中恢復數據

技術分享圖片

技術分享圖片

  • step8:新開窗口,連接第二個mongo服務

mongo --host 192.168.10.111 --port 27019
  • step9:向主服務器中插入數據

use test1for(i=0;i<10;i++){db.t1.insert({_id:i})}
db.t1.find()

技術分享圖片

3.備份

  • 語法

技術分享圖片

5.Mongodb與python交互

  • 之前學習了爬蟲,現在我們把爬取得到的數據存儲於Mongodb中

技術分享圖片

技術分享圖片

  • 開啟mongo,運行代碼

技術分享圖片

通過Robo 3T可視化工具我們可以看到抓取到了137條數據,並且已存儲到mongodb中

6.完成命令行項目:學生信息管理(基於Python2.7)

  • 代碼操作

技術分享圖片

技術分享圖片

技術分享圖片

已成功!

歡迎大家關註我的博客:https://home.cnblogs.com/u/sm123456/

歡迎大家加入千人交流答疑群:125240963

MongoDB與python交互!這才是正確玩轉數據庫的正確方式!