Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/

Gerar Dados Sintéticos

Nesta página

  • Pré-requisitos
  • Procedimento

Você também pode gerar dados sintéticos que se alinham ao esquema de dados reais. Os dados sintéticos são úteis para ambientes de teste e desenvolvimento.

Este tutorial se conecta a um Atlas cluster e gera dados sintéticos usando Node.js e falser.js. Para saber mais, consulte os documentos do Faker JS.

Para criar dados sintéticos usando as etapas deste tutorial, você deve:

  • Crie um cluster do Atlas para carregar dados. Para saber mais, consulte Criar um cluster.

  • Instalar o Node, o NPM e o Driver Node.js do MongoDB.

  • Instalar o falser.js:

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

Siga estas etapas para gerar dados sintéticos em seu cluster:

1
  1. Execute o seguinte comando para criar e navegar até o diretório do aplicativo:

    mkdir syntheticdata
    cd syntheticdata
  2. Execute o seguinte comando para inicializar seu projeto e vinculá-lo ao npm.

    npm init

    Pressione Enter para aceitar todos os valores padrão, exceto entry point: (index.js). Quando o terminal retornar entry point: (index.js), insira este texto e pressione Enter:

    myapp.js

    Continue aceitando todos os valores padrão e digite Yes quando solicitado.

  3. Execute o seguinte comando para instalar express, uma estrutura de aplicativo da web:

    npm install express --save
  4. No diretório que você criou, crie um arquivo chamado myapp.js.

2

No arquivo myapp.js, adicione o seguinte código. Substitua os seguintes valores nos espaços reservados por seus valores e salve o conteúdo do arquivo:

  • <YOUR-ATLAS-URI>: a connection string do seu Atlas cluster. Para saber como encontrar sua connection string, consulte Encontrar sua connection string do MongoDB Atlas.

  • <DATABASE-NAME>: Nome do reconhecimento de data center a ser criado no Atlas.

  • <COLLECTION-NAME>: Nome da collection para criar no 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 exemplo, seu código pode incluir as seguintes linhas que especificam um banco de dados chamado synthetic-data-db e uma coleção chamada synthetic-data-collection:

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

Este código cria uma coleção de séries temporais sobre gatos, adiciona os seguintes campos a cada documento e preenche os campos com dados sintéticos do falser.js:

  • timestamp_day

  • cat

  • owner.email

  • owner.firstName

  • owner.lastName

  • events

Você pode substituir os campos e valores no código por campos e valores alinhados com seus dados. Para saber mais sobre os campos disponíveis em falser.js, consulte a Referência da API do Faker.

3

Execute o seguinte código no terminal para executar seu aplicativo:

node myapp.js

O aplicativo gera 5 mil documentos que reproduzem o padrão de dados em myapp.js.

Depois de executar esse código, você pode pressionar CTRL + C para sair do aplicativo em execução.

4
  1. Se ainda não estiver exibido, selecione a organização que contém o projeto desejado no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Se a página Clusters ainda não estiver exibida, clique em Database na barra lateral.

5
  1. Clique no nome do seu cluster.

  2. Clique na aba Collections.

6

Expanda o nome do banco de dados que você criou e clique no nome da coleção que você criou. Seus dados sintéticos são exibidos.

← Amostra de conjunto de dados meteorológicos