Skip to content

Conversation

wichopy
Copy link

@wichopy wichopy commented Sep 28, 2025

This is me trying to do some vibe coding. I saw redis and dynamo db were supported so wanted to see if I could get mongo in here. Feel free to close this PR or help me take it all the way :D

Requirements

  • I have added test coverage for new or changed functionality
  • I have followed the repository's pull request submission guidelines
  • I have validated my changes against all supported platform versions

Related issues

Provide links to any issues in this repository or elsewhere relating to this pull request.

Describe the solution you've provided

Provide a clear and concise description of what you expect to happen.

Describe alternatives you've considered

Provide a clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context about the pull request here.


Note

Introduces a new MongoDB-backed feature store and big segment store with connection management, caching, factories, tests, and documentation.

  • New package: packages/store/node-server-sdk-mongodb
    • Provides MongoDB-backed persistence for the Node.js Server-Side SDK.
  • Stores:
    • MongoDBFeatureStore: Persistent feature/segment storage using MongoDB with versioned upserts and delete handling.
    • MongoDBBigSegmentStore: Big segment metadata and user membership retrieval.
  • Core/State:
    • MongoDBCore: Implements PersistentDataStore operations (init/get/getAll/upsert/initialized) against MongoDB collections.
    • MongoDBClientState: Connection handling with URI/database/prefix support, retry logic, and collection prefixing.
  • Factories & API:
    • MongoDBFeatureStoreFactory and MongoDBBigSegmentStoreFactory; re-exported as MongoDBFeatureStore and MongoDBBigSegmentStore from src/index.ts.
    • LDMongoDBOptions for configuration (uri, database, prefix, timeouts, retries, cacheTTL); TtlFromOptions for cache TTL.
  • Tests:
    • Comprehensive unit/integration tests for feature store, big segment store, client state, and factories (Jest + ts-jest).
  • Configs & Docs:
    • README.md with setup/usage, CHANGELOG.md, package.json, Jest/TypeScript configs; Apache-2.0 LICENSE.

Written by Cursor Bugbot for commit 621bdce. This will update automatically on new commits. Configure here.

@wichopy wichopy requested a review from a team as a code owner September 28, 2025 01:56
@kinyoklion
Copy link
Member

Hello @wichopy,

Thank you for the contribution. Is this something you were going to be using, or only created for exploratory purposes?

Generally speaking each feature is associated with maintenance, and that maintenance burden will only be worth consideration if there are people in active need of the feature.

Thank you,
Ryan

@wichopy
Copy link
Author

wichopy commented Sep 30, 2025

Hello @wichopy,

Thank you for the contribution. Is this something you were going to be using, or only created for exploratory purposes?

Generally speaking each feature is associated with maintenance, and that maintenance burden will only be worth consideration if there are people in active need of the feature.

Thank you,

Ryan

It was something my company wanted to use as dynamo and redis were not viable options. I figured there maybe more people wanting this as mongo is pretty popular.

I agree maintenance is a valid concern. I wanted to just get feature parity with the other supported external stores with the help of AI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants