您的位置:首页 > 数据库 > Mongodb

Go语言下与MongoDB通信-使用mgo

2014-09-18 13:55 323 查看


Go语言下与MongoDB通信-使用mgo

分类: MongoDB2013-08-28
15: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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: