当我创建一个集合并添加如下所示的模型时,我是否可以通过cli进行更改?或在创建收藏集后添加一个?
问题:创建后如何更新数据模型/如何添加模型
我尝试使用db.students.update,但不起作用。
db.createCollection("students", {
validator: {
$jsonSchema: {
bsonType: "object",
required: [ "name", "year", "major", "gpa", "address.city", "address.street" ],
}
}
})
答案 0 :(得分:1)
它不是数据库模式。这是验证模式。请了解不同之处:https://docs.mongodb.com/manual/core/schema-validation/index.html。
页面上的其他重要信息中,以下句子准确回答了您的问题:
验证发生在更新和插入期间。当您向集合中添加验证时,现有文档将不进行验证检查,直到进行修改。
您将需要自行处理现有文档,以确保它们符合要求。
要将文档验证添加到现有集合中,请将collMod命令与validator选项一起使用。
它同样适用于更新现有验证规则。在您的情况下,命令应如下所示:
db.runCommand({ collMod: "students", "validator": {"$jsonSchema" : <your new schema> } })