Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Generar Datos Sintéticos

Puedes generar datos sintéticos que se ajusten al esquema de tus datos reales. Los datos sintéticos son útiles para entornos de pruebas y desarrollo.

Este tutorial se conecta a un clúster de Atlas y genera datos sintéticos utilizando Node.js y faker.js. Para obtener más información, consulta los Docs de Faker JS.

Para crear datos sintéticos usando los pasos de este tutorial, debes:

Siga estos pasos para generar datos sintéticos en su clúster:

1
  1. Ejecute el siguiente comando para crear y navegar al directorio de la aplicación:

    mkdir syntheticdata
    cd syntheticdata
  2. Ejecuta el siguiente comando para inicializar tu proyecto y vincularlo a npm.

    npm init

    Presione Enter para aceptar todos los valores por defecto excepto entry point: (index.js). Cuando la terminal devuelva entry point: (index.js), introduce este texto y presiona Enter:

    myapp.js

    Continúe aceptando todos los valores por defecto y escriba Yes cuando se le solicite.

  3. Ejecuta el siguiente comando para instalar express, un framework de aplicaciones web:

    npm install express --save
  4. En el directorio que creaste, crea un archivo llamado myapp.js.

2

En el archivo myapp.js, añade el siguiente código. Sustituye los siguientes valores de marcador de posición por tus valores y guarda el contenido del archivo:

  • <YOUR-ATLAS-URI>: la cadena de conexión para tu clúster Atlas. Para aprender a encontrar tu cadena de conexión, consulta Encuentra tu cadena de conexión de MongoDB Atlas.

  • <DATABASE-NAME>: Nombre de la base de datos a crear en Atlas.

  • <COLLECTION-NAME>: Nombre de la colección que se va a crear en Atlas.

// require the necessary libraries
const { faker } = require("@faker-js/faker");
const MongoClient = require("mongodb").MongoClient;
function randomIntFromInterval(min, max) { // min and max included
return Math.floor(Math.random() * (max - min + 1) + min);
}
async function seedDB() {
// Connection URL
const uri = "<YOUR-ATLAS-URI>";
const client = new MongoClient(uri);
try {
await client.connect();
console.log("Connected correctly to server");
const collection = client.db("<DATABASE-NAME>").collection("<COLLECTION-NAME>");
// make a bunch of time series data
let timeSeriesData = [];
for (let i = 0; i < 5000; i++) {
const firstName = faker.person.firstName();
const lastName = faker.person.lastName();
let newDay = {
timestamp_day: faker.date.past(),
cat: faker.lorem.word(),
owner: {
email: faker.internet.email({firstName, lastName}),
firstName,
lastName,
},
events: [],
};
for (let j = 0; j < randomIntFromInterval(1, 6); j++) {
let newEvent = {
timestamp_event: faker.date.past(),
weight: randomIntFromInterval(14,16),
}
newDay.events.push(newEvent);
}
timeSeriesData.push(newDay);
}
await collection.insertMany(timeSeriesData);
console.log("Database seeded with synthetic data! :)");
} catch (err) {
console.log(err.stack);
}
}
seedDB();

Por ejemplo, tu código puede incluir las siguientes líneas que especifican una base de datos llamada synthetic-data-db y una colección llamada synthetic-data-collection:

const collection = client.db("synthetic-data-db").collection("synthetic-data-collection");

Este código crea una colección de series de tiempo sobre gatos, agrega los siguientes campos a cada documento y rellena los campos con datos sintéticos de faker.js:

  • timestamp_day

  • cat

  • owner.email

  • owner.firstName

  • owner.lastName

  • events

Puedes reemplazar los campos y valores en el código por campos y valores que se alineen con tus datos. Para aprender más sobre los campos disponibles en faker.js, consulta la Referencia de la API de Faker.

3

Ejecuta el siguiente código en la terminal para ejecutar tu aplicación:

node myapp.js

La aplicación genera 5,000 documentos que reflejan el patrón de datos en myapp.js.

Después de ejecutar este código, puedes pulsar CTRL + C para salir de la aplicación en ejecución.

4
  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Data Explorer en la sección Database.

    El Data Explorer se muestra.

IMPORTANTE: También puede hacer clic en el nombre de un grupo para abrir la barra Cluster lateral y luego hacer clic Data Explorer en debajo del Shortcuts encabezado.

5

Amplía el nombre de la base de datos que has creado y haz clic en el nombre de la colección que has creado. Tus visualizaciones de datos sintéticos.