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" }
}