Skip to content

Conversation

@sowen1023
Copy link
Contributor

@sowen1023 sowen1023 commented Oct 28, 2025

What does this PR do

  • 🎯 Add MongoDB connector.
  • βœ… Refactor StoredCursorValue, add RawType to support database special types, such as ObjectID of BSON.
  • 🧩 Extract CursorStateManager and CursorSerializer from the neo4j connector, unified neo4j and mongodb connector incremental logic.
  • 🧩 Extract IncrementalSyncFields.tsx UI component.

Rationale for this change

Standards checklist

  • βœ… The PR title is descriptive
  • βœ… The commit messages are semantic
  • βœ… Necessary tests are added
  • βœ… Updated the release notes
  • βœ… Necessary documents have been added if this is a new feature

@medcl medcl mentioned this pull request Oct 28, 2025
6 tasks
@medcl
Copy link
Member

medcl commented Oct 29, 2025

@sowen1023 how about attach some screenshot, or intro video, we may use it somewhere later.

@sowen1023
Copy link
Contributor Author

mongodb datasource

@sowen1023
Copy link
Contributor Author

sowen1023 commented Oct 30, 2025

The source document example:

{
    "_id": {"$oid": "68fe2c6e0d5d38521168ffe0"},
    "author": {
      "name": "John Doe",
      "email": "john@example.com",
      "user_id": "user_001"
    },
    "category": "tutorial",
    "content": "Learn the fundamentals of MongoDB database, including CRUD operations, indexing, and aggregation.",
    "created_at": {"$date": "2024-01-15T10:30:00.000Z"},
    "published": true,
    "status": "processing",
    "summary": "Introduction to MongoDB for beginners",
    "tags": ["mongodb", "database", "nosql"],
    "title": "MongoDB Basics Tutorial",
    "updated_at": {"$date": "2025-10-28T14:30:10.250Z"},
    "url": "https://example.com/mongodb-basics",
    "version": 4,
    "views": 1250
}

The Coco document example:

{
    "id": "68fe2c6e0d5d38521168ffe0",
    "created": "2024-01-15T18:30:00+08:00",
    "updated": "2025-10-28T22:30:10.25+08:00",
    "metadata": {
      "is_published": true
    },
    "payload": {
      "author": {
        "email": "john@example.com",
        "name": "John Doe",
        "user_id": "user_001"
      },
      "status": "processing",
      "version": 4,
      "views": 1250
    },
    "source": {
      "type": "connector",
      "name": "My MongoDB",
      "id": "d3v1rg5afbigjhi7pb70"
    },
    "category": "tutorial",
    "title": "MongoDB Basics Tutorial",
    "summary": "Introduction to MongoDB for beginners",
    "content": "Learn the fundamentals of MongoDB database, including CRUD operations, indexing, and aggregation.",
    "tags": [
      "mongodb",
      "database",
      "nosql"
    ],
    "url": "https://example.com/mongodb-basics",
    "last_updated_by": {
      "timestamp": "2025-10-28T22:30:10.25+08:00"
    }
}

@sowen1023
Copy link
Contributor Author

I noticed the ID Hash was not being utilized, and have since implemented the necessary fix.

The Coco document example:

{
    "_index": "coco_document-v2",
    "_type": "_doc",
    "_id": "99fb3175a8a0c0cfc60a0aeac471bf62",
    "_score": 1,
    "_source": {
        "id": "99fb3175a8a0c0cfc60a0aeac471bf62",
        "created": "2024-01-15T18:30:00+08:00",
        "updated": "2025-10-30T21:58:52.993+08:00",
        "metadata": {
            "is_published": true
        },
        "payload": {
            "author": {
                "email": "john@example.com",
                "name": "John Doe",
                "user_id": "user_001"
            },
            "status": "processing",
            "version": 4,
            "views": 1250
        },
        "source": {
            "type": "connector",
            "name": "My MongoDB",
            "id": "d3v1rg5afbigjhi7pb70"
        },
        "category": "tutorial",
        "title": "MongoDB Basics Tutorial",
        "summary": "Introduction to MongoDB for beginners",
        "content": "Learn the fundamentals of MongoDB database, including CRUD operations, indexing, and aggregation.",
        "tags": [
            "mongodb",
            "database",
            "nosql"
        ],
        "url": "https://example.com/mongodb-basics",
        "last_updated_by": {
            "timestamp": "2025-10-30T21:58:52.993+08:00"
        }
    }
}

sowen1023 and others added 3 commits October 30, 2025 22:07
Resolved conflicts in translation files:
- web/src/locales/langs/en-us/page.ts: Merged MongoDB translations with main updates
- web/src/locales/langs/zh-cn/page.ts: Preserved unified IncrementalSyncFields terminology

Updated dependencies:
- Installed lucide-react for new IntegratedStoreModal component
- Build verified successful

πŸ€– Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Auto-generated type definitions for new components used in IntegratedStoreModal
and other UI updates from main branch merge.

πŸ€– Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
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