2017-04-07 4 views
0

Je me demandais si quelqu'un pouvait expliquer comment démaseler ma valeur de curseur changefeed à un type struct spécifique.Golang RethinkDB ChangeFeed Structure

var message map[string]interface{} 

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

carte [new_val: carte [club_id: ea2eb6e2-755f-4dad-922D-e3693b6e55c6 Date : 07/04/2017 14: 48: 17,714 0100 +01: 00 id: e389ab54- 963e-4b33-9b34-adcb6ec5b17e message: quel est le sens de la vie? user_id: 00ff679f-9421-4b8b-ae7f-d11cf2adaee2] old_val:]

Cependant, je voudrais que la réponse soit mis en correspondance avec struct ChatMessage.

Mise à jour:

J'ai essayé:

var message ChatMessage 

Cependant, il ne semble pas une de mes données dans le se prépare struct.

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

Mon struct:

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"` 
} 

Merci.

Répondre

0

Je l'ai compris!

Le problème était que je n'ai pas spécifié de champ dans la demande de modification rethinkdb.

Code précédent:

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

Code du travail:

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

maintenant les cartes de valeur .Next() à mon struct sans problème.