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

 

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

分类: MongoDB   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 plain copy
  1. infs := []DBInfo{}  
  2. err = DB_dbInfo.Find(&bson.M{}).All(&infs)  
对应shell应该是:  db.dbinfo.find() 返回所有的信息

例如:先查找其中name为enel的所有集合

[cpp]  view plain copy
  1. //查找用户  
  2. var u DBUser  
  3. us := []DBUser{}  
  4. 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 plain copy
  1. u = DBUser{bson.NewObjectId(), binf.UUIDUser, csName, csPassWord, uint8(csSex)}  
  2. DB_dbUserList.Insert(&u)  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值