Golang學習筆記之golang操作mongodb(mac環境)

1.在macos上安裝mongodb,用homebrew

brew install mongodb

安裝完成後要進行配置建立一個文件夾mongoData
mongoData
db:用來存放數據庫文件
etc:用來存放mongodb配置文件mongo.conf
logs:用來存放日誌文件mongo.log

mongo.conf爲mongo的配置文件,內容如下

#數據庫路徑
dbpath=/Users/tugame/mongoData/db/

#日誌輸出文件路徑
logpath=/Users/tugame/mongoData/logs/mongodb.log

#錯誤日誌採用追加模式,配置這個選項後mongodb的日誌會追加到現有的日誌文件,而不是從新創建一個新文件
logappend=true

#啓用日誌文件,默認啓用
journal=true

#這個選項可以過濾掉一些無用的日誌信息,若需要調試使用請設置爲false
quiet=false

#是否後臺啓動,有這個參數,就可以實現後臺運行
fork=true

#端口號 默認爲27017
port=27017

#指定存儲引擎(默認不需要指定)
#storageEngine=mmapv1

#開啓認證
auth=true

配置完成後啓動mongodb服務

mongod -f /Users/tugame/mongoData/etc/mongo.conf

此處如果不加配置直接啓動可能會出現一個錯誤:NonExistentPath: Data directory /data/db not found., terminating
這是因爲這樣對情況下,mongo使用的是自帶的mongo.conf,而這個配置文件裏的dbpath指向裏/data/db,故而出錯。

進入mongo客戶端

mongo

若果要關閉mongodb服務

ps -ef | grep mongo
kill 進程號

2.使用golang來操作mongodb
golang操作mongodb有一個包mgo
獲取mgo

go get gopkg.in/mgo.v2
go get labix.org/v2/mgo  #二選一即可

mongodb的數據結構爲
數據庫-集合-文檔
類比一下,集合相當於mysql裏的表,文檔相當與表裏的行,這樣就好理解了。

golang通過mgo來操作mongodb是通過獲取會話session來操作的

const (URL="127.0.0.1:27017")
//獲取session
session,err := mgo.Dial(URL)
//獲取數據庫
db := session.DB("數據庫名")
//獲取集合名
collection := db.C("集合名")

golang對mongodb進行增刪改查

//增
Err := collection.Insert(“”)
//刪
Err := collection.Remove(bson.M{“key”:”value”})
//改
Err := collection.Update(bson.M{“key”:”value”})
//查
err := collection.Find(bson.M{“key”:”value”})

如有錯誤,歡迎指正
參考文檔:
mgo:https://godoc.org/labix.org/v2/mgo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章