Docs Menu
Docs Home
/ /

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

El --schemaSourceLa opción indica a que utilice una base de datos mongosqld mongosqld particular en la instancia MongoDB conectada para el almacenamiento del esquema. puede crear una nueva base de datos para usar para el almacenamiento del esquema o usar una base de datos existente.

Si especifica una base de datos existente que se ha utilizado previamente para el almacenamiento de esquemas, la opción--schemaModedetermina simongosqldescribe 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--schemaModeen 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.

De forma predeterminada, nomongosqld --schemaRefreshIntervalSecs remuestrea mongosqld automáticamente los datos después de generar el esquema. Especifique la opción para que remuestree automáticamente los datos y regenere el esquema según una programación fija.

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

Si su instancia de MongoDB usa autenticación, debe especificar un usuario de MongoDB con permiso de escritura en la base de datos de esquema especificada, además de los permisos descritos en el muestreo en caché.

Para crear un usuario con los permisos necesarios para ejecutar con un esquema persistente, puede crear mongosqld un rol personalizado con los permisos mínimos requeridos, como se describe en Permisos de usuario para el muestreo en caché, o usar el rol integrado readAnyDatabase. En cualquier caso, el usuario también necesita permiso 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

Volver

Modo de esquema independiente (muestreo en caché)

En esta página