2017-04-07 82 views
0

我想知道是否有人可以解释如何解组我的changefeed游标值到一个特定的结构类型。Golang RethinkDB ChangeFeed Structure

var message map[string]interface{} 

for chatFeedCursor.Next(&message) { 
    fmt.Println(message) 
} 

地图[new_val:地图[club_id:ea2eb6e2-755f-4dad-922D-e3693b6e55c6 日期:2017年4月7日14:48:17.714 0100 01:00 ID:e389ab54- 963e-4b33-9b34-adcb6ec5b17e消息:生命的意义是什么? USER_ID:00ff679f-9421-4b8b-ae7f-d11cf2adaee2] old_val:]

然而,我想被映射到STRUCT ChatMessage的响应。

更新:

我已经试过:

var message ChatMessage 

但是,它似乎并不像我的任何数据的获取的结构设置。

{0001-01-01 00:00:00 +0000 UTC}

我的结构:

type ChatMessage struct { 
    ID  string  `json:"id" gorethink:"id,omitempty"` 
    UserID  string `json:"user_id" gorethink:"user_id"` 
    ClubID  string `json:"club_id" gorethink:"club_id"` 
    Message  string `json:"message" gorethink:"message"` 
    Date time.Time  `json:"date" gorethink:"date"` 
} 

感谢。

回答

0

我想通了!

问题是我没有在rethinkdb变更请求中指定一个字段。

以前的代码:

chatFeedCursor, _ := gorethink.Table("club_chat").Changes().Run(gorethinkSession) 

工作代码:

chatFeedCursor, _ := gorethink.Table("club_chat").Changes().Field("new_val").Run(gorethinkSession) 

现在。接下来()值映射到我的结构没有问题。