Docs Menu
Docs Home
/ /

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 Atlas y genera datos sintéticos utilizando Node.js y faker.js. Para obtener más información, consulte la documentación de Faker JS.

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

  • Cree un clúster Atlas para cargar datos. Para obtener más información, consulte Tipos de clúster.

  • Instalar Node, NPM y el controlador MongoDB Node.js.

  • Instalar faker.js:

    npm install --save-dev @faker-js/faker

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

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

    mkdir syntheticdata
    cd syntheticdata
  2. Ejecute el siguiente comando para inicializar su proyecto y vincularlo a npm.

    npm init

    Presiona Enter Para aceptar todos los valores predeterminados entry point: (index.js)excepto. Cuando la terminal entry point: (index.js) devuelva, introduzca este texto y Enter pulse:

    myapp.js

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

  3. Ejecute el siguiente comando para instalar express, un marco de aplicación web:

    npm install express --save
  4. En el directorio que ha creado, cree un archivo llamado myapp.js.

2

En el archivo myapp.js, agregue el siguiente código. Reemplace los siguientes valores de marcador de posición con sus valores y guarde el contenido del archivo:

  • <YOUR-ATLAS-URI>La cadena de conexión de su clúster Atlas. Para saber cómo encontrarla, consulte "Encontrar la 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 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, su 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 temporales sobre gatos, agrega los siguientes campos a cada documento y llena 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 del código con campos y valores que coincidan con tus datos. Para obtener más información sobre los campos disponibles en faker.js, consulta la Referencia de la API de Faker.

3

Ejecute el siguiente código en la terminal para ejecutar su aplicación:

node myapp.js

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

Después de ejecutar este código, puede presionar 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.

5

Expande el nombre de la base de datos que creaste y haz clic en el nombre de la colección que creaste. Se mostrarán tus datos sintéticos.

Volver

Sample Weather

En esta página