最近寫遊戲服.用的全是新貨.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)