2017-01-21 5 views
2

Ich habe eine API mit Express, Mongodb und ich verwende AJV-Validierung, um die eingehenden Anfragen zu validieren.Nur JsonSchema mit Mongoose verwenden?

//JSONSchema 
var recordJsonSchema = { 
    type: "object", 
    properties: { 
     name: { type: "string" }, 
     idNumber: { type: "number" }, 
     content: { type: "string" } 
    }, 
    required: ['name','idNumber'] 
} 

Und ich würde dieses JSON-Schema verwenden, um eingehende Anforderungen wie folgt zu überprüfen.

app.post('/record', (req,res) => { 
    let errors = ajv.inspect(req.body, recordJsonSchema) 
    return errors ? res.send(errors) : res.send(this.handler(req)); 
}) 

Dies funktioniert gut und ist sehr schnell. Ich mag auch JsonSchema, da es den OpenAPI-Standards folgt.

Leider muss ich um MongoSchema für Record zu erstellen, um Mongo über Mungo zu lesen/schreiben. Sie sind sehr ähnlich, aber ein bisschen anders, wie sie behandeln erforderlichen Felder usw.

var recordSchema = new Schema({ 
    name: { type: "string", required: true }, 
    idNumber: { type: "number", required: true }, 
    content: { type: "string" } 
}) 

Also für mein Modell of Record Ich habe jetzt zwei Schemas. Eine für JSONschema und eine für Mongo Lese-/Schreibzugriffe.

Ich bin auf der Suche nach einer Möglichkeit, MongoSchema, irgendwelche Vorschläge zu schneiden?

Antwort

Verwandte Themen