无法使用 golang 将结构保存到 mongodb(仅创建空记录)
Cannot save structure into mongodb with golang (only empty records created)
我有以下结构
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)
您的记录字段需要 public 才能让其他包(如 MongoDB 包装器)看到它们。像这样重命名字段:
type Result struct {
Nid string
Timestamp int64
Hexhash string
Addr string
}
我有以下结构
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)
您的记录字段需要 public 才能让其他包(如 MongoDB 包装器)看到它们。像这样重命名字段:
type Result struct {
Nid string
Timestamp int64
Hexhash string
Addr string
}