func (c *rethinkClient) getMessageByID(term gorethink.Term, id string, message proto.Message) error { cursor, err := term.Get(id).ToJSON().Run(c.session) if err != nil { return err } data := "" if !cursor.Next(&data) { return cursor.Err() } if err := jsonpb.UnmarshalString(data, message); err != nil { return err } return nil }