MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come creare lo schema Mongodb in modo dinamico utilizzando nodejs

Certo che è possibile... - suggerendo di utilizzare express come struttura del server:

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.');
}

... ma per favore stai attento! Aprire un modo per consentire agli utenti di modificare il database così facilmente non è solitamente una buona idea.

Aggiornamento: Il formato è esattamente lo stesso di quello che vuoi avere tra parentesi:

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