我已经使用express(node.js)用猫鼬模型创建了一个MongoDB集合,并且运行良好。现在,我想重组同一集合的模型。为此,我必须删除数据库中的集合并重新启动服务器,以便使用新模型进行更新。但是我有正在使用的实时数据。因此,如何在不删除集合的情况下对其进行重组。
我们还有其他方法可以解决此问题,即不删除集合并重新启动服务器以更新集合中的猫鼬模型吗?
我的旧模型如下:
new mongoose.Schema({
name: {type:String},
age: {type: String, required: true}
});
我希望在同一集合中更新此新模型:
new mongoose.Schema({
name: {type:String, unique: true},
age: {type: Number, required: true},
grade: {type:Number}
});
答案 0 :(得分:0)
您可以创建一个遍历现有集合的cron,并使用新字段更新旧文档。