code: func (t *Transaction) saveStringIndex(mr *modelRef, fs *fieldSpec) {
  	// Remove the old index (if any)
  	t.deleteStringIndex(mr.spec.name, mr.model.ModelID(), fs.redisName)
  	fieldValue := mr.fieldValue(fs.name)
  	for fieldValue.Kind() == reflect.Ptr {
  		if fieldValue.IsNil() {
  			return
  		}
  		fieldValue = fieldValue.Elem()
  	}
  	member := fieldValue.String() + nullString + mr.model.ModelID()
  	indexKey, err := mr.spec.fieldIndexKey(fs.name)
  	if err != nil {
  		t.setError(err)
  	}
  	t.Command("ZADD", redis.Args{indexKey, 0, member}, nil)
  }
docs: // saveStringIndex adds commands to the transaction for saving a string
  // index on the given field. This includes removing the old index (if any).