更新MongoDB文档以反映Mongoose模型中的更改

时间:2018-08-16 20:25:52

标签: mongodb ejs

我有一个关于将猫鼬模型中的更改保存到数据库中的问题。我需要担心的最大的事情是在不删除数据的情况下将其保留在数据库中。

基本上,我有以下架构:

var schema = new mongoose.Schema({
    name: {
        type: String,
        required: true,
        unique: true
    },
    account: {
        sname: {
            type: String,
            default: ""
        }
    }
});

数据库具有:

{
    name: "FlashFireBlast",
    account: {
        sname: "Flash"
    }
}

但是,如果我像这样向模型添加新键,该怎么办?

var schema = new mongoose.Schema({
    name: {
        type: String,
        required: true,
        unique: true
    },
    account: {
        sname: {
            type: String,
            default: ""
        },
        zname: {
            type: String,
            default: ""
        },
    }
});

但是数据库仍然是

{
    name: "FlashFireBlast",
    account: {
        sname: "Flash"
    }
}

如何将zname插入正确的位置,以便数据库为

{
    name: "FlashFireBlast",
    account: {
        sname: "Flash",
        zname: ""
    }
}

对于集合中的所有现有条目?可能还有其他集合也需要以与此相同的方式更新其所有条目。

每次添加新键时,我都需要对所有现有数据执行此操作,并且可能还会有许多新键。我该怎么办?

谢谢。

0 个答案:

没有答案