Golang 使用 MongoDB
Golang 中 MongoDB 的驱动实现的不少,不过其中比较著名的是 mgo,安装使用都比较方便。
1. 安装 Mgo
安装的命令只需要一条就可以了,十分的简单,具体的可以参考 ["Mgo 主页":http://labix.org/mgo]。
$ go get labix.org/v2/mgo
在安装之前需要先安装 Bazaar。这里在 Mac OSX 上安装的时候有一个小坑,那就是 /usr/local/bin/bzr
文件需要修改第一行。
#!/usr/bin/python
修改为:
#!/usr/bin/python2.6
不然 bazaar 无法正常工作。
2. 使用 Mgo
Mgo 使用的例子如下:
package main
import (
"fmt"
"labix.org/v2/mgo"
"labix.org/v2/mgo/bson"
)
type Person struct {
Name string
Phone string
}
func main() {
session, err := mgo.Dial("server1.example.com,server2.example.com")
if err != nil {
panic(err)
}
defer session.Close()
// Optional. Switch the session to a monotonic behavior.
session.SetMode(mgo.Monotonic, true)
c := session.DB("test").C("people")
err = c.Insert(&Person{"Ale", "+55 53 8116 9639"},
&Person{"Cla", "+55 53 8402 8510"})
if err != nil {
panic(err)
}
result := Person{}
err = c.Find(bson.M{"name": "Ale"}).One(&result)
if err != nil {
panic(err)
}
fmt.Println("Phone:", result.Phone)
}