{"record":{"id":"74575feece32c365","repo":"microsoft/semantic-kernel","slug":"failed-to-create-mongodb-atlas-settings-74575f","errorCode":null,"errorMessage":"Failed to create MongoDB Atlas settings.","messagePattern":"Failed to create MongoDB Atlas settings\\.","errorType":"exception","errorClass":"VectorStoreInitializationException","httpStatus":null,"severity":"error","filePath":"python/semantic_kernel/connectors/mongodb.py","lineNumber":227,"sourceCode":"                database_name=database_name or DEFAULT_DB_NAME,\n                index_name=index_name or DEFAULT_SEARCH_INDEX_NAME,\n                managed_client=managed_client,\n                embedding_generator=embedding_generator,\n            )\n            if callable(mongo_client.append_metadata):\n                mongo_client.append_metadata(DRIVER_METADATA)\n            return\n\n        try:\n            mongodb_atlas_settings = MongoDBAtlasSettings(\n                env_file_path=env_file_path,\n                env_file_encoding=env_file_encoding,\n                connection_string=connection_string,\n                database_name=database_name,\n                index_name=index_name,\n            )\n        except ValidationError as exc:\n            raise VectorStoreInitializationException(\"Failed to create MongoDB Atlas settings.\") from exc\n\n        mongo_client = AsyncMongoClient(\n            mongodb_atlas_settings.connection_string.get_secret_value(),\n            driver=DRIVER_METADATA,\n        )\n\n        super().__init__(\n            record_type=record_type,\n            definition=definition,\n            collection_name=collection_name,\n            mongo_client=mongo_client,\n            managed_client=managed_client,\n            database_name=mongodb_atlas_settings.database_name,\n            index_name=mongodb_atlas_settings.index_name,\n            embedding_generator=embedding_generator,\n        )\n\n    def _get_database(self) -> AsyncDatabase:","sourceCodeStart":209,"sourceCodeEnd":245,"githubUrl":"https://github.com/microsoft/semantic-kernel/blob/c028a0c7dc4f0814cdcbaba9d998f187a41197bf/python/semantic_kernel/connectors/mongodb.py#L209-L245","documentation":"Raised by the MongoDBAtlasCollection constructor (VectorStoreInitializationException, wrapping a pydantic ValidationError) when MongoDBAtlasSettings cannot be built from arguments + environment. MongoDBAtlasSettings requires a connection_string (MONGODB_ATLAS_CONNECTION_STRING) as a SecretStr; database_name and index_name have defaults. A ValidationError here almost always means the connection string is missing or malformed.","triggerScenarios":"Constructing a MongoDB collection without passing connection_string and without the MONGODB_ATLAS_CONNECTION_STRING env var set; or passing an invalid (non-URI) connection string. Raised only when no external mongo_client was supplied.","commonSituations":".env file not loaded or wrong name; env var typo; secret missing in CI/deployment; connection string not a mongodb(+srv):// URI; python-dotenv env_file_path not pointing at the file.","solutions":["Set MONGODB_ATLAS_CONNECTION_STRING in your environment/.env to a valid mongodb+srv:// URI.","Pass connection_string= explicitly, or env_file_path= pointing at the right .env.","Inspect the wrapped ValidationError (`exc.__cause__`) for the exact missing/invalid field."],"exampleFix":"// before\nstore = MongoDBAtlasCollection(record_type=Doc, collection_name='docs')  # raises\n// after\n// set MONGODB_ATLAS_CONNECTION_STRING=mongodb+srv://... in .env\nstore = MongoDBAtlasCollection(record_type=Doc, collection_name='docs')","handlingStrategy":"try-catch","validationCode":"import os\nconn = os.environ.get('MONGODB_ATLAS_CONNECTION_STRING')\nassert conn and conn.startswith('mongodb'), 'set MONGODB_ATLAS_CONNECTION_STRING to a mongodb+srv:// URI'\ncollection = MongoDBAtlasCollection(record_type=Doc, collection_name='docs')","typeGuard":null,"tryCatchPattern":"from semantic_kernel.exceptions import VectorStoreInitializationException\ntry:\n    collection = MongoDBAtlasCollection(record_type=Doc, collection_name='docs')\nexcept VectorStoreInitializationException as e:\n    raise SystemExit(f'MongoDB settings invalid: {e.__cause__!r}') from e","preventionTips":["Set MONGODB_ATLAS_CONNECTION_STRING in .env/CI secrets to a valid mongodb+srv:// URI.","Load .env (or pass env_file_path) before constructing the collection.","Always surface e.__cause__ (the pydantic ValidationError) to see the exact missing field."],"tags":["mongodb","vector-store","initialization","config","env","secrets"],"backgroundTag":null,"analyzedSha":"c028a0c7dc4f0814cdcbaba9d998f187a41197bf","analyzedAt":"2026-08-13T13:48:05.040Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}