gocassandragocqlnosql

Storing slice of bytes in Cassandra using gocql driver


How to store slice of bytes as cassandra blob type using gocql driver?


Solution

  • Your question is very unspecific and you do not show us what you have done so far.

    Since I don't know where your actual problem lies I will just post my WriteRecord function I wrote a while back when testing cassandra with the gocql package:

    func (cs *cassandra) WriteRecord(table string, fields []string, values ...interface{}) error {
        var placeholder []string
    
        for range fields {
            placeholder = append(placeholder, "?")
        }
        querystring := fmt.Sprintf(insertstring, table, strings.Join(fields, ", "), strings.Join(placeholder, ", "))
        return cassandraSession.Query(querystring, values...).Exec()
    }
    

    As you can see the values are of type interface{}. So they can be anything including of type []byte. Note that the following condition must be met: len(fields) = len(values)

    I hope this helps you on your journey of becoming a golang expert :)