猿问

无法使用 golang 将结构保存到 mongodb(仅创建空记录)

我有以下结构


type Result struct {

    nid         string

    timestamp   int64

    hexhash     string

    addr        string

}

我想保存到 mongodb 中:


我创造它


r := Result{hex_id, int64(msg.timestamp.Unix()), hexhash, msg.addr.String()}

并测试它是否正确创建:


fmt.Println(r) 

这给了我期待的结果:


{b8da3f19d1318af6879976c1eea66c78c48e1144 1421417252 65072917F19D7F4C4B54C9C66A3EB31F77012981 127.69}020。


然后我将它保存到 mongo 中:


h.c.Insert(r)

但在 mongo 中,我只看到空记录:


db.data.find()


{“_id”:ObjectId(“54b91a268da6c829a412cd4d”)}


上面代码中的 h 定义为


type Handler struct {

    storage     map[string]Message

    new_msg     chan Message

    new_inp     chan Input

    c           *mgo.Collection

}


h.c = session.DB(DATABASE).C(COLLECTION)


繁花如伊
浏览 182回答 1
1回答

饮歌长啸

您的记录的文件需要对其他包(如 MongoDB 包装器)公开才能看到它们。像这样重命名字段:type Result struct {    Nid         string    Timestamp   int64    Hexhash     string    Addr        string}
随时随地看视频慕课网APP

相关分类

Go
我要回答