json - Mongodb - 为现有集合添加架构

标签 json mongodb schema

我的 MongoDB 中有一个包含 1300 万条记录的集合。不幸的是,当我创建这个集合时,没有为其创建模式。我想知道除了备份整个数据库、创建架构并上传所有数据之外,是否有任何方法可以添加 JSON 架构。

最佳答案

您可以使用 collMod 命令将 JSON 架构应用于现有集合,以将新的 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"
} )

关于json - Mongodb - 为现有集合添加架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55025621/

相关文章:

java - 使用 Gson 将 JSON 转换为 Java 对象

arrays - 使用多个条件更新 mongodb 中嵌套数组中的对象

javascript - Mongoose ,nodejs,全文搜索

javascript - 如何将对象数组插入MongoDb集合

mysql - 用于搜索名称和姓氏的最有效的 sql 模式

xml - 为什么 Oxygen 生成具有空 xmlns 属性的子元素?

javascript - 如何将日期列转换为 Google Visualization API 的 JSON 格式

java - Jackson:使用嵌套对象将对象序列化为 JSON,将子字段合并到所属类中

database - 需要有关对处理民意调查响应的数据库进行非规范化的建议

java - 获取 JSON 弹出窗口以保存或打开对话框而不是实际内容?