code: func (s *Session) DatabaseNames() (names []string, err error) {
  	var result dbNames
  	err = s.Run("listDatabases", &result)
  	if err != nil {
  		return nil, err
  	}
  	for _, db := range result.Databases {
  		if !db.Empty {
  			names = append(names, db.Name)
  		}
  	}
  	sort.Strings(names)
  	return names, nil
  }
docs: // DatabaseNames returns the names of non-empty databases present in the cluster.