通过JSON格式的“说明”即时定义Mongoose模式

通过JSON格式的“说明”即时定义Mongoose模式,第1张

通过JSON格式的“说明”即时定义Mongoose模式

如果我正确理解了目标,您将希望遍历

data
JSON对象字段中的每个字段定义,然后通过将其映射到实际类型将其转换为猫鼬模式的有效字段。因此,您可以从这样的东西开始:

var mongoose = require('mongoose')var typeMappings  ={"String":String,  "Number":Number, "Boolean":Boolean, "ObjectId":mongoose.Schema.ObjectId,  //....etc}function makeSchema(jsonSchema){  var outputSchemaDef = {}  for(fieldName in jsonSchema.data){    var fieldType = jsonSchema.data[fieldName]    if(typeMappings[fieldType]){      outputSchemaDef[fieldName] = typeMappings[fieldType]    }else{      console.error("invalid type specified:", fieldType)    }  }  return new mongoose.Schema(outputSchemaDef)}

为了处理嵌入式对象和数组类型,您可能需要对其进行修改以使其具有递归性,并在遇到这些类型的对象时更加深入,因为字段可以与任意深度/结构嵌套在一起。

希望这可以帮助。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5010401.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存