1001Ferramentas
🍃Dev

Gerador Mongoose Init

Gere o arquivo de conexão Mongoose com MongoDB e um schema de exemplo, pronto para colar no seu projeto Node.js. Comece a modelar seus dados em segundos.



  

Conexão Mongoose e schema de exemplo

Toda vez que você começa um projeto Node com MongoDB, repete as mesmas dez linhas: importar o mongoose, chamar connect com a URI vinda do ambiente, declarar um schema com email único e um createdAt com valor padrão. Ninguém decora isso, e caçar o trecho na documentação ou num repositório antigo custa mais tempo do que deveria. Esta página imprime o bloco pronto assim que carrega.

Não há nada para configurar aqui. Uma função devolve sempre a mesma string, então o botão apenas redesenha o texto que já estava na tela quando você chegou. Vale saber de um detalhe: useNewUrlParser e useUnifiedTopology não fazem mais nada desde o Mongoose 6, e você pode apagar as duas linhas sem mudar comportamento algum. Sem MONGODB_URI definida, o código cai em mongodb://localhost:27017/app.

Antes de colar, decida se quer mesmo conexão e model no mesmo arquivo. Quando o projeto cresce, o normal é separar um db.js com o connect e um models/User.js ao lado. O connect devolve uma promise sem catch nenhum, então uma falha de rede vira unhandled rejection: encadeie um .catch ou use await no bootstrap. E lembre que unique cria índice, não valida nada; inserts simultâneos ainda passam. A geração acontece toda no seu navegador.

Perguntas frequentes

Dá para escolher o nome do banco ou os campos do schema na página?
Não. A saída é um bloco fixo, sempre idêntico. Você troca o nome do banco, o nome do model e os campos no editor, depois de colar.
Posso apagar useNewUrlParser e useUnifiedTopology?
Pode. Desde o Mongoose 6 essas opções não fazem nada, e versões recentes só imprimem um aviso de depreciação quando você as passa.
E se o meu projeto usa ESM em vez de require?
O trecho sai em CommonJS. Troque a primeira linha por import mongoose from 'mongoose' e o module.exports final por export default.

Ferramentas Relacionadas