Files
langgraphjs/libs/checkpoint-mongodb
github-actions[bot] 6530ba9b4c chore: version packages (#2715)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @langchain/langgraph-checkpoint@1.1.5

### Patch Changes

- [#2714](https://github.com/langchain-ai/langgraphjs/pull/2714)
[`a2a59ec`](https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978)
Thanks [@hntrl](https://github.com/hntrl)! - Update checkpoint
integrations to require the patched checkpoint serializer release.
## @langchain/langgraph-checkpoint-mongodb@1.4.1

### Patch Changes

- [#2714](https://github.com/langchain-ai/langgraphjs/pull/2714)
[`a2a59ec`](https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978)
Thanks [@hntrl](https://github.com/hntrl)! - Update checkpoint
integrations to require the patched checkpoint serializer release.
## @langchain/langgraph-checkpoint-postgres@1.0.5

### Patch Changes

- [#2714](https://github.com/langchain-ai/langgraphjs/pull/2714)
[`a2a59ec`](https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978)
Thanks [@hntrl](https://github.com/hntrl)! - Update checkpoint
integrations to require the patched checkpoint serializer release.
## @langchain/langgraph-checkpoint-redis@1.0.11

### Patch Changes

- [#2714](https://github.com/langchain-ai/langgraphjs/pull/2714)
[`a2a59ec`](https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978)
Thanks [@hntrl](https://github.com/hntrl)! - Update checkpoint
integrations to require the patched checkpoint serializer release.
## @langchain/langgraph-checkpoint-sqlite@1.0.4

### Patch Changes

- [#2714](https://github.com/langchain-ai/langgraphjs/pull/2714)
[`a2a59ec`](https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978)
Thanks [@hntrl](https://github.com/hntrl)! - Update checkpoint
integrations to require the patched checkpoint serializer release.
## @langchain/langgraph-checkpoint-validation@1.1.1

### Patch Changes

- [#2714](https://github.com/langchain-ai/langgraphjs/pull/2714)
[`a2a59ec`](https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978)
Thanks [@hntrl](https://github.com/hntrl)! - Update checkpoint
integrations to require the patched checkpoint serializer release.
## @langchain/langgraph-api@1.4.5

### Patch Changes

- [#2714](https://github.com/langchain-ai/langgraphjs/pull/2714)
[`a2a59ec`](https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978)
Thanks [@hntrl](https://github.com/hntrl)! - Update checkpoint
integrations to require the patched checkpoint serializer release.

- Updated dependencies []:
  - @langchain/langgraph-ui@1.4.5
## @langchain/langgraph-cli@1.4.5

### Patch Changes

- Updated dependencies
[[`a2a59ec`](https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978)]:
  - @langchain/langgraph-api@1.4.5
## @langchain/langgraph@1.4.12

### Patch Changes

- [#2714](https://github.com/langchain-ai/langgraphjs/pull/2714)
[`a2a59ec`](https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978)
Thanks [@hntrl](https://github.com/hntrl)! - Update checkpoint
integrations to require the patched checkpoint serializer release.

- Updated dependencies
[[`a2a59ec`](https://github.com/langchain-ai/langgraphjs/commit/a2a59ec6f8fdd93d4520d86fceab8a234dacf978)]:
  - @langchain/langgraph-checkpoint@1.1.5
## @langchain/langgraph-ui@1.4.5

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-19 16:28:44 -07:00
..
2024-08-23 12:43:37 -07:00
2026-08-19 16:28:44 -07:00
2024-08-23 12:43:37 -07:00
2026-08-19 16:28:44 -07:00
2025-07-02 02:35:57 +02:00

@langchain/langgraph-checkpoint-mongodb

Implementation of a LangGraph.js CheckpointSaver that uses a MongoDB instance.

Usage

import { MongoClient } from "mongodb";
import { MongoDBSaver } from "@langchain/langgraph-checkpoint-mongodb";

const writeConfig = {
  configurable: {
    thread_id: "1",
    checkpoint_ns: ""
  }
};
const readConfig = {
  configurable: {
    thread_id: "1"
  }
};


const client = new MongoClient(process.env.MONGODB_URL);

const checkpointer = new MongoDBSaver({ client });

// NOTE: you need to call .setup() the first time you're using your checkpointer
await checkpointer.setup();

const checkpoint = {
  v: 1,
  ts: "2024-07-31T20:14:19.804150+00:00",
  id: "1ef4f797-8335-6428-8001-8a1503f9b875",
  channel_values: {
    my_key: "meow",
    node: "node"
  },
  channel_versions: {
    __start__: 2,
    my_key: 3,
    "start:node": 3,
    node: 3
  },
  versions_seen: {
    __input__: {},
    __start__: {
      __start__: 1
    },
    node: {
      "start:node": 2
    }
  },
  pending_sends: [],
}

// store checkpoint
await checkpointer.put(writeConfig, checkpoint, {}, {});

// load checkpoint
await checkpointer.get(readConfig);

// list checkpoints
for await (const checkpoint of checkpointer.list(readConfig)) {
  console.log(checkpoint);
}

await client.close();

TTL (Time-To-Live) Support

Automatically expire old checkpoints using MongoDB's TTL indexes:

import { MongoClient } from "mongodb";
import { MongoDBSaver } from "@langchain/langgraph-checkpoint-mongodb";

const client = new MongoClient(process.env.MONGODB_URL);

// Create checkpointer with 1-hour TTL (in seconds)
const checkpointer = new MongoDBSaver({
  client,
  ttl: 3600,
});

// Create TTL indexes (call during deployment/startup)
await checkpointer.setup();

When TTL is enabled:

  • An upserted_at timestamp is added to each document on every write
  • MongoDB automatically deletes documents after the TTL expires
  • Each update resets the expiration timer

The setup() method creates the required TTL indexes. Call it during application startup or deployment. It is idempotent and handles concurrent calls safely.