gpt4 book ai didi

node.js - Mongoose 改变模式格式

转载 作者:IT老高 更新时间:2023-10-28 13:04:07 25 4
gpt4 key购买 nike

我们正在快速开发一个使用 Mongoose 的应用程序,并且我们的架构经常变化。我似乎无法找出为现有文档更新架构的正确方法,而不是将它们吹走并从头开始完全重新创建它们。

我遇到了http://mongoosejs.com/docs/api.html#schema_Schema-add ,看起来是对的。几乎没有关于如何实际实现这一点的文档,这对于刚接触 MongoDB 的人来说非常困难。

我只是想添加一个名为启用的新字段。我的架构定义是:

var sweepstakesSchema = new Schema({
client_id: {
type: Schema.Types.ObjectId,
ref: 'Client',
index: true
},
name: {
type: String,
default: 'Sweepstakes',
},
design: {
images: {
type: [],
default: []
},
elements: {
type: [],
default: []
}
},
enabled: {
type: Boolean,
default: false
},
schedule: {
start: {
type: Date,
default: Date.now
},
end: {
type: Date,
default: Date.now
}
},
submissions: {
type: Number,
default: 0
}
});

最佳答案

考虑到您的 Mongoose 模型名称为 sweepstakesModel,此代码会将具有 bool 值 falseenabled 字段添加到集合中所有预先存在的文档中:

db.sweepstakesModel.find( { enabled : { $exists : false } } ).forEach(
function (doc) {
doc.enabled = false;
db.sweepstakesModel.save(doc);
}
)

关于node.js - Mongoose 改变模式格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14287617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com