《MongoDB高手課》學習記錄(第三天)

踩坑記錄

今天試了一下MAC下的安裝,說一下遇到的問題。個人OS版本是10.15.2。python

  • 安裝目錄 /User/xiaopohair/mongodb/
  • 執行文件目錄 /User/xiaopohair/mongodb/bin
  • 數據文件目錄 /User/xiaopohair/mongodb/data
  • 日誌文件目錄 /User/xiaopohair/mongodb/log
  • 配置文件目錄 /User/xiaopohair/mongodb/conf
  1. 原本是想直接 brew install 的,結果發現最高的版本才4.0.3,果斷放棄了,官網目前是4.2.2。
  2. 直接下的安裝包,在官網上。由於是Mac OS 10.15的版本,系統權限的管理機制變化,原則上不能直接安裝在系統文件夾下面,好比 /usr/local 。所以直接放在 /Users/用戶名/ 下面了。
  3. 編輯 .bash_profile ,將執行文件的目錄加到PATH裏面,要否則不能直接調用。
  4. 官網下載的這個版本是沒有 mongod.conf ,要否則本身建,要否則啓動的時候本身寫參數
  5. 最後,關機的時候,一直要記得把服務關了,不然哭吧
## 配置PATH
export PATH=/User/xiaopohair/mongodb/bin:$PATH
## 經過參數文件啓動服務
mongod --config /User/xiaopohair/mongodb/conf/mongod.conf
## 經過參數啓動服務
mongod --dbpath /Users/xiaopohair/mongodb/data --port 27017 --logpath /Users/xiaopohair/mongodb/log/mongod.log --fork --bind_ip_all
## 關服務
use admin
db.shutdownServer()

官方的配置參數說明git

第三天

今天學習 《07 | 實驗:Hello World程序開發》,其實就是講了一下在 python 環境下怎麼操做 mongodb 。github

安裝 python 驅動包

pip install pymongo

檢查驅動安裝的結果

>>> import pymongo
>>> pymongo.version
'3.10.0'
>>>

鏈接 mongo

>>> import pymongo
>>> pymongo.version
'3.10.0'
>>> from pymongo import MongoClient
>>> uri = "mongodb://127.0.0.1:27017/?minPoolSize=10&maxPoolSize=100"
>>> client = MongoClient(uri)
>>> print client
MongoClient(host=['127.0.0.1:27017'], document_class=dict, tz_aware=False, connect=True, minpoolsize=10, maxpoolsize=100)
>>>

基本操做

插入記錄

>>> test_db = client["foo"]
>>> bar_coll = test_db["bar"] ## 一直到這,其實都有這個數據庫,也沒有這個表,系統也不會報錯
>>> result = bar_coll.insert_one({"string":"Hello World"}) ## 這個時候才建立了數據庫、表,並插入了一數據
>>> print result
<pymongo.results.InsertOneResult object at 0x00000000033D2D08>
>>>

查詢記錄

_id 是系統主鍵,你不建,他就會本身建一個 mongodb

>>> result = bar_coll.find_one()
>>> print result
{u'_id': ObjectId('5dfdfb19c94228a74e8ecabf'), u'string': u'Hello World'}
>>>

更新記錄

>>> result = bar_coll.update_one({"string":"Hello World"},{"$set":{"from":"Hello Earth!"}})
>>> print result
<pymongo.results.UpdateResult object at 0x00000000033D2FC8>
>>> result = bar_coll.find_one()
>>> print result
{u'_id': ObjectId('5dfdfb19c94228a74e8ecabf'), u'from': u'Hello Earth!', u'string': u'Hello World'}
>>>

刪除記錄

>>> result = bar_coll.remove({"string":"Hello World"})
>>> print result
{u'ok': 1.0, u'n': 1}
>>> result = bar_coll.find_one()
>>> print result
None
>>>
>>> result = bar_coll.insert_one({"string":"Hello World"})
>>> result = bar_coll.insert_one({"string":"Hello"})
>>> result = bar_coll.delete_one({"string":"Hello World"})
>>> print result
<pymongo.results.DeleteResult object at 0x00000000033EA248>
>>>

總結

今天就這些,後面還一個 hello_world.py,不會python 哈,其實就是把交互模式下面的寫在一個文件裏面了。而後 python hello_world.py 來執行。
不過呢,視頻裏沒講,我是在github裏面看到的。數據庫

加油,加油。bash

相關文章
相關標籤/搜索