Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Modo de esquema automático (guardar un esquema en MongoDB)

La opción --schemaSource indica a mongosqld que utilice una base de datos específica en la instancia conectada de MongoDB para el almacenamiento del esquema. mongosqld puede crear una nueva base de datos para usar en el almacenamiento de esquemas, o utilizar una base de datos existente.

Si especificas una base de datos existente que se haya utilizado previamente para el almacenamiento de esquemas, la opción --schemaMode determina si mongosqld escribe nuevos datos de esquema en la base de datos especificada o solo lee de ella. Si especifica una base de datos que no existe actualmente, debe establecer --schemaMode en auto.

El siguiente comando de ejemplo utiliza una base de datos denominada sampleDb para almacenar información de esquema y configura --schemaMode en auto.

mongosqld --schemaSource sampleDb --schemaMode auto

Para obtener más información sobre los modos de muestreo, consulta el cuadro de referencia de modos de muestreo.

Por defecto, mongosqld no vuelve a muestrear datos automáticamente después de generar el esquema. Especifica la opción --schemaRefreshIntervalSecs para dirigir mongosqld a volver a muestrear automáticamente los datos y regenerar el esquema en un cronograma fijo.

Para forzar una actualización única del esquema, use el comando FLUSH SAMPLE desde su cliente SQL.

Si tu instancia de MongoDB utiliza autenticación, además de los permisos descritos en la sección muestreo en caché,debes especificar un usuario de MongoDB con permiso de escritura en la base de datos de esquema especificada.

Para crear un usuario con los permisos necesarios para ejecutar mongosqld con un esquema persistente, puedes crear un rol personalizado con los permisos mínimos necesarios, como se describe en Permisos de usuario para muestreo almacenado en caché, o utilizar el rol integrado readAnyDatabase. En cualquier caso, el usuario también necesita permisos de escritura en la base de datos del esquema especificado.

db.getSiblingDB("admin").createUser(
{
user: "<username>",
pwd: "<password>",
roles: [
{ "role": "readAnyDatabase", "db": "admin" },
{ "role": "readWrite", "db": "<dbname>" }
]
}
)

En el siguiente ejemplo, un usuario llamado bicUser con la contraseña myPass proporciona credenciales para leer y actualizar una base de datos de esquema llamada schemaDb.

mongosqld --auth -u bicUser -p myPass --schemaSource schemaDb --schemaMode auto