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?
Schätzen Sie den Vorschlag, aber das erfordert immer noch zwei Schemas zu schreiben. – Proximo