Go语言下与MongoDB通信-使用mgo
2014-09-18 13:55
323 查看
Go语言下与MongoDB通信-使用mgo
分类: MongoDB2013-08-2815:52 1585人阅读 评论(0) 收藏 举报
最近写游戏服.用的全是新货.go语言+mongodb.嘿嘿. 关于mgo如何使用就不详细说了.官网上写的很清楚.这块就说说怎么用.
首先导入mgo库.
import (
"labix.org/v2/mgo"
"labix.org/v2/mgo/bson"
)
声明DB
var DB_dbs *mgo.Database
声明Collection
var DB_dbUserList *mgo.Collection
连接数据库
session, err := mgo.Dial("127.0.0.1")
选择use的DB
DB_dbs = session.DB("JLTX")
选择对应的Collection
DB_dbUserList = DB_dbs.C("userlist")
到此为止.就可以进入表操作了.读过mongo权威指南的话.您只要会shell的.用mgo给db通信会很简单.
bson.M{} 这个东西是整个mgo的明星东东.用来把golang的结构转bson的东东.
例如: 想找到info表中的所有的数据
[cpp] view
plaincopy
infs := []DBInfo{}
err = DB_dbInfo.Find(&bson.M{}).All(&infs)
对应shell应该是: db.dbinfo.find() 返回所有的信息
例如:先查找其中name为enel的所有集合
[cpp] view
plaincopy
//查找用户
var u DBUser
us := []DBUser{}
err := DB_dbUserList.Find(&bson.M{"name": "enel"}).All(&us)
对应的shell应该是. db.userlist.find({"name":"enel0"}) 返回命中的结合
上面两个例子就很容易看出 bson.M{} 和 shell写法的 贯通之处. 用好bson.M{}就能用好mongodb了.
下面说一下insert操作.
你可以在go里面任意创建struct来.往里面插入.非常的简单.
[cpp] view
plaincopy
u = DBUser{bson.NewObjectId(), binf.UUIDUser, csName, csPassWord, uint8(csSex)}
DB_dbUserList.Insert(&u)
相关文章推荐
- MongoDB的Go语言驱动----mgo的使用指南
- go语言使用protobuf与c++做数据通信。
- Go实战--golang使用ssl连接MongoDB(mgo)
- 三、go语言操作 mongodb mgo --go语言学习笔记
- Go实战--golang中使用MongoDB(mgo)
- go使用mgo连接mongodb
- Go语言下与MongoDB通信-使用mgo
- 使用 Go 语言和 HTML5 WebSocket 构建一个 Web 聊天室
- 跨语言通信框架Apache Thrift在PHP中的使用
- go语言defer使用
- Go语言实战 - 使用SendCloud群发邮件
- 多核计算与并发编程(三) 使用Go语言的管道
- 为什么我们要使用Go语言以及如何使用它的
- 使用Go客户端访问MongoDB
- go语言defer使用
- GO语言(六)接口使用
- go语言学习,使用Sublime Text 2 搭建环境
- go语言接口使用
- [原]在 go/golang语言中使用 google Protocol Buffer
- go语言使用crc32得到网络消息的校验码