El scriptDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/tutosrive/db-nosql-2026-1/llms.txt
Use this file to discover all available pages before exploring further.
mongo.py del repositorio genera grandes volúmenes de datos sintéticos de usuarios (hasta 50 millones de registros por defecto) para usar en pruebas de rendimiento y ejercicios con MongoDB. Usa la librería Faker y el patrón generador de Python (yield) para minimizar el uso de RAM, escribiendo los documentos línea por línea en un archivo JSONL que luego se importa a MongoDB con mongoimport.
Requisitos
El script requiere solo una dependencia:requirements.txt
El Script Completo
mongo.py
Cómo Ejecutar el Script
Estructura del Documento Generado
Cada línea del archivo JSONL es un documento JSON independiente con la siguiente estructura:| Campo | Tipo | Descripción |
|---|---|---|
gender | String | "male" o "female" (alterna por índice) |
name.first / name.last | String | Nombre generado con Faker (en minúsculas) |
location.city / location.state | String | Ciudad y estado generados con Faker |
dob.age | Number | Fijo en 36 (actualizable con el ejercicio de fechas) |
nat | String | Código de país elegido aleatoriamente de: US, DK, FR, ES, BR, CA, DE |
El formato JSONL (JSON Lines) es diferente de un array JSON estándar. Cada línea es un documento JSON válido e independiente, sin comas entre documentos y sin corchetes
[] envolventes. mongoimport puede leer este formato sin la bandera --jsonArray.Importar a MongoDB
Una vez generado el archivo, impórtalo conmongoimport:
Personalizar el Script
Puedes modificar dos constantes al inicio del script:countries dentro de la función user_generator():
Patrón Generador — Por qué usa yield
El script usa un generador de Python (yield) en lugar de construir una lista con todos los usuarios en memoria. La razón es simple: no es posible cargar 50 millones de objetos Python en RAM simultáneamente.
Operadores de Actualización
Aprende a actualizar las edades de la colección personas con $dateDiff
Ejercicios de Agregaciones
Usa la colección personas para practicar pipelines de agregación