如果在Mongoose中更改了Schema,如何使用默认值更新集合中的所有文档

时间:2017-03-06 02:41:00

标签: mongodb mongoose mongoose-schema

我之前有一个这样的架构

var schema = mongoose.Schema({
    type: String,
    name: String,
});

现在我的架构已经改变了

var schema = mongoose.Schema({
    type: String,
    name: String,
    content: {
        title: {type: String, default: 'Some Title'},
        description: {type: String, default: 'Some Description'}
    }
});

既然Schema已经改变了,我想用dafault值更新集合中的先前文档,怎么做?

1 个答案:

答案 0 :(得分:3)

直接在MongoDB shell上执行以下updateMany查询

db.collectionName.updateMany({}, {$set: {
    content: {title: "Some title", description: "Some description"}
}})

要更新的第一个参数是一个空对象,它与所有现有记录匹配。