如何为这个json对象形成mongoDB的模式?

时间:2018-02-11 23:38:41

标签: json mongodb

我正在尝试为下面的json对象形成mongodb架构:

{

        "103s": {
            "a1": {
                "b": "dfdf",
                "c": "fgfhh"
            },
            "a2": [
                {
                    "b1": 0,
                    "c1": "sdsd"
                },
            ],
            "a3": "1) qw \n" +
                "2) df \n" +
                "3) cv \n" +
                "4) fg",
            "a4": "1) asd \n" +
                "2) fgh"
        },
        "34": {
            "a1": {
                "b": "dfdf",
                "c": "fgfhh"
            },
            "a2": [
                {
                    "b1": 0,
                    "c1": "sdsd"
                },
            ],
            "a3": "1) qw \n" +
                "2) df \n" +
                "3) cv \n" +
                "4) fg",
            "a4": "1) asd \n" +
                "2) fgh"
        }

}

我提出了以下架构:

   error: {
    "a1": {
      "b": {
        "type": "String"
      },
      "c": {
        "type": "String"
      }
    },
    "a2": {
      "type": [
        "Mixed"
      ]
    },
    "a3": {
      "type": "String"
    },
    "a4": {
      "type": "String"
    }
  }

我无法决定在上面的架构中为error添加什么。我要形成一个混合型对象然后映射它吗?我不确定,因为它没有给出正确的结果。此外,我还需要注意在html和angularJS上从前端的数据库获取哪种格式。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

基本上,上面提到的架构是正确的。插入时我们实际上可以修改我们试图插入的文档的键。在那里,我们可以提供一个名为_id的属性,并在此处设置用户定义的id。 MongoDb接受_id并为此文档设置它。架构是:

{
    "_id" : String,
    "a1": {
      "b": {
        "type": "String"
      },
      "c": {
        "type": "String"
      }
    },
    "a2": {
      "type": [
        "Mixed"
      ]
    },
    "a3": {
      "type": "String"
    },
    "a4": {
      "type": "String"
    }
  }

这解决了我的问题,我能够使用自己的自定义ID在MongoDB中插入记录。