# FirestoreChatMessageHistory

> **Class** in `langchain_community`

📖 [View in docs](https://reference.langchain.com/python/langchain-community/chat_message_histories/firestore/FirestoreChatMessageHistory)

Chat message history backed by Google Firestore.

## Signature

```python
FirestoreChatMessageHistory(
    self,
    collection_name: str,
    session_id: str,
    user_id: str,
    firestore_client: Optional[Client] = None,
)
```

## Extends

- `BaseChatMessageHistory`

## Constructors

```python
__init__(
    self,
    collection_name: str,
    session_id: str,
    user_id: str,
    firestore_client: Optional[Client] = None,
)
```

| Name | Type |
|------|------|
| `collection_name` | `str` |
| `session_id` | `str` |
| `user_id` | `str` |
| `firestore_client` | `Optional[Client]` |


## Properties

- `collection_name`
- `session_id`
- `user_id`
- `messages`
- `firestore_client`

## Methods

- [`prepare_firestore()`](https://reference.langchain.com/python/langchain-community/chat_message_histories/firestore/FirestoreChatMessageHistory/prepare_firestore)
- [`load_messages()`](https://reference.langchain.com/python/langchain-community/chat_message_histories/firestore/FirestoreChatMessageHistory/load_messages)
- [`add_message()`](https://reference.langchain.com/python/langchain-community/chat_message_histories/firestore/FirestoreChatMessageHistory/add_message)
- [`upsert_messages()`](https://reference.langchain.com/python/langchain-community/chat_message_histories/firestore/FirestoreChatMessageHistory/upsert_messages)
- [`clear()`](https://reference.langchain.com/python/langchain-community/chat_message_histories/firestore/FirestoreChatMessageHistory/clear)

---

[View source on GitHub](https://github.com/langchain-ai/langchain-community/blob/a6a6079511ac8a5c1293337f88096b8641562e77/libs/community/langchain_community/chat_message_histories/firestore.py#L41)