手动比较POST调用JSON数据以与存储在数据库中的Mongoose模式进行验证

时间:2019-06-23 07:17:17

标签: node.js mongodb mongoose

猫鼬模式作为JSON字符串存储在数据库中:-

{
    name: {type: String, required: true}
    age: { type:Number, required: true}
}

POST调用JSON数据示例:-

{
    name: "Amit",
    age: 25
}

无属性的模式(将用于存储来自客户端的用户数据):-

const userSchema = new mongoose.Schema({}, {strict: false});

const User = mongoose.model('User', userSchema);

我想验证每个REST调用的数据,存储在数据库中的架构不是静态的,可以随时间更改。如果验证成功,数据将使用“用户”模型保存。 是否可以在不创建模型的情况下根据模式验证数据?我收到此错误

  

“ OverwriteModelError:无法一次覆盖cardDetails模型   编译。”

enter image description here

1 个答案:

答案 0 :(得分:0)

我用1行代码解决了我的问题

delete mongoose.models['cardDetails'];

它将从内存中释放模型,以便您可以再次创建它。