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

时间:2015-01-16 14:22:45

标签: mongodb go database nosql

我有以下结构

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.0.0.1:65290}

然后我把它保存到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)

1 个答案:

答案 0 :(得分:1)

您的记录字段需要对其他包(如MongoDB包装器)公开才能看到它们。重命名字段如下:

type Result struct {
    Nid         string
    Timestamp   int64
    Hexhash     string
    Addr        string
}