JSON para Mongoose schema
Transforme uma amostra JSON num schema e modelo Mongoose prontos para usar.
JSON para Mongoose schema
Cole uma amostra de documento JSON — um único objeto ou um array deles — e esta ferramenta infere a forma e gera uma definição mongoose.Schema() completa com exportação de modelo. Foi criada para o momento em que você tem uma carga útil JSON de uma API, um ficheiro de seed ou um dump de base de dados antigo e precisa de um modelo Mongoose, sem digitar cada campo à mão.
A ferramenta lê valores reais para escolher tipos reais: strings tornam-se String, números tornam-se Number, uma string de data com aparência ISO torna-se Date, e um campo cujo nome termina em "Id" (ou a forma em array "…Ids") torna-se uma referência ObjectId, uma vez que é assim que um schema escrito à mão o modelaria. Objetos aninhados tornam-se seu próprio novo mongoose.Schema({...}) dentro do progenitor, e um array de objetos torna-se um array desse schema aninhado. As opções tratam o resto: nomeie o modelo, marque campos escalares como obrigatórios, transporte os próprios valores da amostra como predefinições, ative/desative a opção de timestamps, decida se os subdocumentos mantêm seu próprio _id, e alterne campos com sufixo "Id" entre ObjectId e String simples. Escolha sintaxe CommonJS ou ES module, e opcionalmente adicione uma interface TypeScript correspondente abaixo do modelo.
Alimentar um array de documentos de amostra em vez de um permite à ferramenta notar campos presentes em apenas alguns deles, útil quando dados reais não são perfeitamente uniformes — esses tornam-se opcionais na interface gerada. Os finais de linha Windows e Unix são tratados identicamente, e entrada demasiado grande para processar confortavelmente é reportada em vez de congelar a aba. A contagem sob a saída mostra a contagem de campos, a contagem de schemas aninhados e a contagem de caracteres.
Tudo funciona localmente no seu browser — o JSON que cola, que pode conter registos reais, nunca é carregado em nenhum lugar. Quando o schema parecer correto, copie-o, descarregue-o como um ficheiro .txt para colar no seu próprio ficheiro .js ou .ts, ou envie a saída de volta para a entrada para refiná-la ainda mais.