我的MongoDB中有一个包含1300万条记录的集合。不幸的是,当我创建此集合时,没有为其创建任何架构。我想知道是否有什么方法可以添加JSON模式,而不是备份整个数据库,创建模式并上传所有数据。
答案 0 :(得分:2)
您可以使用collMod
命令将JSON模式应用于现有集合,以向集合https://docs.mongodb.com/manual/core/schema-validation/添加新的JSON模式。下面的例子。但是,它仅适用于新的写操作,不会针对集合中的现有文档运行。
db.runCommand( {
collMod: "contacts",
validator: { $jsonSchema: {
bsonType: "object",
required: [ "phone", "name" ],
properties: {
phone: {
bsonType: "string",
description: "must be a string and is required"
},
name: {
bsonType: "string",
description: "must be a string and is required"
}
}
} },
validationLevel: "moderate"
} )