数据库

  • Mongodb

Golang常用的Mongodb驱动为 mgo.v2, 查看文档

mgo 使用方式如下:

  1. //定义 Person 结构,字段须为首字母大写
  2. type Person struct {
  3. Name string
  4. Phone string
  5. }
  6. router.GET("/mongo", func(context *gin.Context){
  7. //可本地可远程,不指定协议时默认为http协议访问,此时需要设置 mongodb 的nohttpinterface=false来打开httpinterface。
  8. //也可以指定mongodb协议,如 "mongodb://127.0.0.1:27017"
  9. var MOGODB_URI = "127.0.0.1:27017"
  10. //连接
  11. session, err := mgo.Dial(MOGODB_URI)
  12. //连接失败时终止
  13. if err != nil {
  14. panic(err)
  15. }
  16. //延迟关闭,释放资源
  17. defer session.Close()
  18. //设置模式
  19. session.SetMode(mgo.Monotonic, true)
  20. //选择数据库与集合
  21. c := session.DB("adatabase").C("acollection")
  22. //插入文档
  23. err = c.Insert(&Person{Name:"Ale", Phone:"+55 53 8116 9639"},
  24. &Person{Name:"Cla", Phone:"+55 53 8402 8510"})
  25. //出错判断
  26. if err != nil {
  27. log.Fatal(err)
  28. }
  29. //查询文档
  30. result := Person{}
  31. //注意mongodb存储后的字段大小写问题
  32. err = c.Find(bson.M{"name": "Ale"}).One(&result)
  33. //出错判断
  34. if err != nil {
  35. log.Fatal(err)
  36. }
  37. fmt.Println("Phone:", result.Phone)
  38. })

  • Mysql

  • ORM