1. 程式人生 > 其它 >Go語言連線mongoDB資料庫

Go語言連線mongoDB資料庫

技術標籤:服務計算

假設已經安裝了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) }

輸出:
在這裡插入圖片描述

說明操作成功。