Node.js 如何确定文档是否与mongoose中的模型不匹配?

Node.js 如何确定文档是否与mongoose中的模型不匹配?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,假设我有这样一个文档: { name: "John", age: 32 } 对于模型: const schema = new mongoose.Schema({ name: { type: String, default: "Unknown" }, age: { type: Number, default: 0 } }); 然后,我将更改模型,使其具有一个新密钥(例如,在更新应用程序时),添加一个

假设我有这样一个文档:

{
  name: "John",
  age: 32
}
对于模型:

const schema = new mongoose.Schema({
  name: {
    type: String,
    default: "Unknown"
  },
  age: {
    type: Number,
    default: 0
  }
});
然后,我将更改模型,使其具有一个新密钥(例如,在更新应用程序时),添加一个爱好数组:

const schema = new mongoose.Schema({
  name: {
    type: String,
    default: "Unknown"
  },
  age: {
    type: Number,
    default: 0
  },
  hobbies: {
    type: Array,
    default: []
  }
});
这样,文档与其模型不同步。 然后如何使用模型检查文档的完整性-如果文档包含所有键,则返回true或返回false,使用缺少的键及其默认值填充文档并保存文档

值得注意的是:从技术上讲,我可以获取文档及其值,然后创建一个新文档并用旧值填充它,实现我想要的,但只有在没有更好的想法时,我才会使用此解决方案,因为它不是非常有效,并且会导致很多问题

谢谢你的帮助