更新mongodb atlas数据库架构

时间:2019-05-09 07:31:07

标签: mongodb mongodb-atlas

当我创建一个集合并添加如下所示的模型时,我是否可以通过cli进行更改?或在创建收藏集后添加一个?

问题:创建后如何更新数据模型/如何添加模型

我尝试使用db.students.update,但不起作用。

db.createCollection("students", {
   validator: {
      $jsonSchema: {
          bsonType: "object",
          required: [ "name", "year", "major", "gpa", "address.city", "address.street" ],        
                    }
               }
     })

1 个答案:

答案 0 :(得分:1)

它不是数据库模式。这是验证模式。请了解不同之处:https://docs.mongodb.com/manual/core/schema-validation/index.html

页面上的其他重要信息中,以下句子准确回答了您的问题:

  

验证发生在更新和插入期间。当您向集合中添加验证时,现有文档将不进行验证检查,直到进行修改。

您将需要自行处理现有文档,以确保它们符合要求。

  

要将文档验证添加到现有集合中,请将collMod命令与validator选项一起使用。

它同样适用于更新现有验证规则。在您的情况下,命令应如下所示:

db.runCommand({ collMod: "students", "validator": {"$jsonSchema" : <your new schema> } })