MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So erstellen Sie ein Mongodb-Schema dynamisch mit nodejs

Klar ist es möglich... - Vorschlag, express zu verwenden als Server-Framework:

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

...aber bitte seien Sie vorsichtig! Benutzern die Möglichkeit zu geben, Ihre Datenbank so einfach zu ändern, ist normalerweise keine gute Idee.

Aktualisierung: Das Format ist genau das gleiche wie das, das Sie in der Klammer haben möchten:

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