Go語言連線mongoDB資料庫
阿新 • • 發佈:2021-01-10
技術標籤:服務計算
假設已經安裝了mongodb伺服器並運行了mongodb服務端(或有可以連線的mongodb服務端),這裡不贅述mongodb的安裝過程。
go語言下使用mongodb步驟如下:
下載mongodb連線驅動mgo
go語言沒有專門開發連線mongodb的庫,不過第三方開發的庫mgo可以連線mongodb,也得到了官方認可。
命令列下輸入:go get gopkg.in/mgo.v2
下載的mongodb go語言驅動包會直接儲存在GOPATH目錄下。
引入mgo包
用下面的方式可以在go程式碼檔案中引入mgo包,為連線mongodb做準備
import (
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
)
完整程式碼
新建一個資料夾,編寫一個go程式碼檔案如下(下面假設連線的mongodb伺服器執行的地址為10.0.2.2)
package main
import (
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
"fmt"
)
//定義student結構,變數大寫
type student struct {
Name string
Age int
}
func main() {
//連線本地mongodb服務
url := "mongodb://10.0.2.2"
session, err := mgo.Dial(url)
if err != nil {
panic(err)
}
defer session.Close()
//開啟預設資料庫test
session.SetMode(mgo.Monotonic, true)
c := session.DB("test").C("student")
//插入student
c.Insert(&student{"Alice", 18},
&student{"Bob", 19})
//查詢,查詢條件"name"小寫
stu := student{}
err = c.Find(bson.M{"name": "Alice"}).One(&stu)
//輸出
fmt.Println(stu)
//查詢全部
students := make([]student, 30)
err = c.Find(nil).All(&students)
//輸出
fmt.Println(students)
}
輸出:
說明操作成功。