code: func (b *Backend) dial() (*mongo.Client, error) {
  
  	if b.GetConfig().MongoDB != nil && b.GetConfig().MongoDB.Client != nil {
  		return b.GetConfig().MongoDB.Client, nil
  	}
  
  	uri := b.GetConfig().ResultBackend
  	if strings.HasPrefix(uri, "mongodb://") == false &&
  		strings.HasPrefix(uri, "mongodb+srv://") == false {
  		uri = fmt.Sprintf("mongodb://%s", uri)
  	}
  
  	client, err := mongo.NewClient(options.Client().ApplyURI(uri))
  	if err != nil {
  		return nil, err
  	}
  
  	ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
  	defer cancel()
  
  	if err := client.Connect(ctx); err != nil {
  		return nil, err
  	}
  
  	return client, nil
  }
docs: // dial connects to mongo with TLSConfig if provided
  // else connects via ResultBackend uri