обновить схему базы данных mongodb atlas - PullRequest
1 голос
/ 09 мая 2019

Когда я создаю коллекцию и добавляю модель, как показано ниже, есть ли способ, которым я могу изменить через cli?или добавить один после создания коллекции?

проблема: как обновить модель данных / как добавить модель после создания

Я пытался с db.students.update, но не работает.

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

1 Ответ

1 голос
/ 09 мая 2019

Это не схема базы данных .Это схема проверки .Пожалуйста, изучите разницу: https://docs.mongodb.com/manual/core/schema-validation/index.html.

Среди другой важной информации на странице следующие предложения точно отвечают на ваши вопросы:

Проверка происходит во время обновлений и вставок.Когда вы добавляете проверку в коллекцию, существующие документы не проходят проверку проверки до внесения изменений.

Вам потребуется самостоятельно обработать существующие документы, чтобы убедиться в их соответствии.

Чтобы добавить проверку документа в существующую коллекцию, используйте команду collMod с параметром validator.

Это в равной степени относится и к обновлению существующих правил проверки.В вашем случае команда должна выглядеть примерно так:

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