Go与MongoDB通信(简洁版)

lhlt138 · · 3924 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

首先导入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 01.infs := []DBInfo{} 02.err = DB_dbInfo.Find(&bson.M{}).All(&infs) 对应shell应该是: db.dbinfo.find() 返回所有的信息 例如:先查找其中name为enel的所有集合 [cpp] view plaincopy 01.//查找用户 02.var u DBUser 03.us := []DBUser{} 04.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 01.u = DBUser{bson.NewObjectId(), binf.UUIDUser, csName, csPassWord, uint8(csSex)} 02.DB_dbUserList.Insert(&u)

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3924 次点击  ∙  1 赞  
加入收藏 微博
1 回复  |  直到 2015-06-24 08:19:51
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传