Mongodb - Добавить схему для существующей коллекции - PullRequest
1 голос
/ 06 марта 2019

У меня есть коллекция в моем MongoDB с 13 миллионами записей.К сожалению, когда я создавал эту коллекцию, для нее не было создано никакой схемы.Я хотел бы знать, есть ли какой-нибудь способ, которым я мог бы добавить схему JSON помимо резервного копирования всей базы данных, создания схемы и загрузки всех данных.

1 Ответ

2 голосов
/ 06 марта 2019

Вы можете применить схему JSON к существующей коллекции, используя команду collMod, чтобы добавить новую схему JSON в коллекцию https://docs.mongodb.com/manual/core/schema-validation/. Пример ниже. Однако он будет применяться только к новым операциям записи, он не будет работать с существующими документами в коллекции.

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"
} )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...