class_docstr: This handler handles connection and execution of the ChromaDB statements.
class_docstr_tok: ["This","handler","handles","connection","and","execution","of","the","ChromaDB","statements","."]
docstr: Update data in the ChromaDB database.
docstr_tok: ["Update","data","in","the","ChromaDB","database","."]
code: def update(
      self,
      table_name: str,
      data: pd.DataFrame,
      key_columns: List[str] = None,
  ):
      """
      Update data in the ChromaDB database.
      """
      collection = self._client.get_collection(table_name)
  
      # drop columns with all None values
  
      data.dropna(axis=1, inplace=True)
  
      data = data.to_dict(orient="list")
  
      collection.update(
          ids=data[TableField.ID.value],
          documents=data.get(TableField.CONTENT.value),
          embeddings=data[TableField.EMBEDDINGS.value],
          metadatas=data.get(TableField.METADATA.value),
      )
  
imports: import sys
  from collections import OrderedDict
  from typing import List, Optional
  import pandas
  from mindsdb.integrations.handlers.chromadb_handler.settings import ChromaHandlerConfig
  from mindsdb.integrations.libs.const import HANDLER_CONNECTION_ARG_TYPE
  from mindsdb.integrations.libs.response import RESPONSE_TYPE
  from mindsdb.integrations.libs.response import HandlerResponse
  from mindsdb.integrations.libs.response import HandlerResponse
  from mindsdb.integrations.libs.response import HandlerStatusResponse
  from mindsdb.integrations.libs.vectordatabase_handler import FilterCondition, FilterOperator, TableField, VectorStoreHandler
  from mindsdb.interfaces.storage.model_fs import HandlerStorage
  from mindsdb.utilities import log
label_desc: Use image node_id 13 for calling the ChromaDBHandler obj's underlying member method code with example usage: obj.update(table_name, data, key_columns) without return types