sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo crear un esquema Mongodb dinámicamente usando nodejs

Claro que es posible... - sugiriendo usar express como marco de servidor:

import mongoose from 'mongoose';
import { Router } from 'express';
const router = Router();

router.post('/newModel/', createNewModel);

function createNewModel(req, res, next) {
  const Schema = mongoose.Schema;
  // while req.body.model contains your model definition
  mongoose.model(req.body.modelName, new Schema(req.body.model));
  res.send('Created new model.');
}

... ¡pero ten cuidado! Abrir una forma para que los usuarios modifiquen su base de datos tan fácilmente no suele ser una buena idea.

Actualización: El formato es exactamente el mismo que quieres tener entre paréntesis:

{
  "title": { "type": "String", "required": "true" },
  "content": { "type": "String", "required": "true" },
  "slug": { "type": "String", "required": "true" }
}