Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Junte-se a nós no Amazon Web Services re:Invent 2024! Saiba como usar o MongoDB para casos de uso de AI .
Desenvolvedor do MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
MongoDBchevron-right

Como alimentar um MongoDB database com dados falsos

Joe Karlsson2 min read • Published Jan 28, 2022 • Updated Sep 23, 2022
MongoDB
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Você já lidou com um projeto do MongoDB e precisou preencher seu MongoDB database com dados falsos para fornecer valores iniciais para pesquisas, demonstrações, prova de conceitos etc.? Eu sou suspeito para falar, mas já tive que propagar (seed) um MongoDB database muitas vezes.
Antes de mais nada, o que é propagação de banco de dados? A propagação (seeding) do banco de dados é a propagação inicial de um banco de dados com dados. Esse é um processo no qual um conjunto inicial de dados é fornecido a um banco de dados quando ele está sendo instalado.
Nesta postagem, você aprenderá como obter uma configuração de script inicial funcional para bancos de dados MongoDB usando Node.js e faker.js.

O código

Este código de exemplo usa uma única coleção de dados falsos de IoT (que usei para modelar para meu projeto IoT Kitty Litter Box). No entanto, você pode alterar a forma do documento modelo para atender às necessidades do seu aplicativo. Estou usando falser.js para criar os dados falsos. Consulte a documentação se quiser fazer alterações. Você também pode adaptar esse script para semear dados em várias coleções ou bancos de dados, se necessário.
Estou salvando meus dados em um banco de dados MongoDB Atlas. É a maneira mais fácil de colocar um MongoDB database em funcionamento. Você precisará obter seu URI de conexão MongoDB antes de executar este script. Para obter informações sobre como conectar seu aplicativo ao MongoDB, confira os Docs.
Muito bem, agora que já concluímos a configuração, vamos ao código!
1/* mySeedScript.js */
2
3// require the necessary libraries
4const faker = require("faker");
5const MongoClient = require("mongodb").MongoClient;
6
7function randomIntFromInterval(min, max) { // min and max included
8 return Math.floor(Math.random() * (max - min + 1) + min);
9}
10
11async function seedDB() {
12 // Connection URL
13 const uri = "YOUR MONGODB ATLAS URI";
14
15 const client = new MongoClient(uri, {
16 useNewUrlParser: true,
17 // useUnifiedTopology: true,
18 });
19
20 try {
21 await client.connect();
22 console.log("Connected correctly to server");
23
24 const collection = client.db("iot").collection("kitty-litter-time-series");
25
26 // The drop() command destroys all data from a collection.
27 // Make sure you run it against proper database and collection.
28 collection.drop();
29
30 // make a bunch of time series data
31 let timeSeriesData = [];
32
33 for (let i = 0; i < 5000; i++) {
34 const firstName = faker.name.firstName();
35 const lastName = faker.name.lastName();
36 let newDay = {
37 timestamp_day: faker.date.past(),
38 cat: faker.random.word(),
39 owner: {
40 email: faker.internet.email(firstName, lastName),
41 firstName,
42 lastName,
43 },
44 events: [],
45 };
46
47 for (let j = 0; j < randomIntFromInterval(1, 6); j++) {
48 let newEvent = {
49 timestamp_event: faker.date.past(),
50 weight: randomIntFromInterval(14,16),
51 }
52 newDay.events.push(newEvent);
53 }
54 timeSeriesData.push(newDay);
55 }
56 collection.insertMany(timeSeriesData);
57
58 console.log("Database seeded! :)");
59 client.close();
60 } catch (err) {
61 console.log(err.stack);
62 }
63}
64
65seedDB();
Depois de executar o script acima, não deixe de conferir seu banco de dados para garantir que seus dados tenham sido distribuídos corretamente. Esta é a aparência do meu banco de dados após a execução do script acima.
Captura de tela mostrando os dados alimentados em um MongoDB Atlas cluster.
Quando seus dados falsos de propagação estiverem no MongoDB database, está tudo pronto! Parabéns!

Encerrando

Há muitos motivos pelos quais você pode querer semear seu MongoDB database, e preencher um MongoDB pode ser fácil e divertido sem exigir ferramentas ou frameworks sofisticados. Conseguimos automatizar essa tarefa usando o MongoDB, falser.js e Node.js. Teste e me fale o que achou! Está com dificuldades para semear seu MongoDB database? Gostaríamos muito de falar com você. Participe da discussão nos fóruns da MongoDB Community.

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Artigo

Inúmeras coleções


Oct 01, 2024 | 6 min read
Início rápido

Introdução a pipelines de agregação em Rust


Oct 01, 2024 | 15 min read
Notícias e Anúncios

Interrompendo o desenvolvimento do driver Swift do MongoDB


Sep 11, 2024 | 1 min read
Início rápido

Introdução às transações ACID multidocumento em Python


Sep 11, 2024 | 10 min read
Sumário
  • O código