学习数据持久化。
package main import ( "fmt" "log" "time" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" ) type Category struct { Id bson.ObjectId `bson:"_id,omitempty"` Name string Description string } func main() { mongoDialInfo := &mgo.DialInfo{ Addrs: []string{"localhost"}, Timeout: 5 * time.Second, Database: "taskdb", Username: "root", Password: "123456", } session, err := mgo.DialWithInfo(mongoDialInfo) if err != nil { panic(err) } defer session.Close() session.SetMode(mgo.Monotonic, true) c := session.DB("taskdb").C("categories") doc := Category{ bson.NewObjectId(), "Open Source", "Tasks for open-source projects", } err = c.Insert(&doc) if err != nil { log.Fatal(err) } err = c.Insert( &Category{ bson.NewObjectId(), "R & D", "R & D Tasks", }, &Category{ bson.NewObjectId(), "Project", "Project Tasks", }) var count int count, err = c.Count() if err != nil { log.Fatal(err) } else { fmt.Printf("%d records inserted.", count) } }