Go語言下與MongoDB通信-使用mgo

最近寫遊戲服.用的全是新貨.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表中的所有的數據

infs := []DBInfo{}
err = DB_dbInfo.Find(&bson.M{}).All(&infs)
對應shell應該是:  db.dbinfo.find() 返回所有的信息

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

//查找用戶
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來.往裏面插入.非常的簡單.

u = DBUser{bson.NewObjectId(), binf.UUIDUser, csName, csPassWord, uint8(csSex)}
DB_dbUserList.Insert(&u)









發佈了104 篇原創文章 · 獲贊 7 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章