在mongodb中存储继承类型配置的最佳方法?

时间:2017-03-18 19:44:32

标签: mongodb configuration jsonschema

我在mongo中存储了四种不同的配置变体作为嵌套文档。

  1. 默认配置
  2. 特定于环境的配置。
  3. 特定于站点的配置。
  4. 页面特定配置。
  5. 优先顺序:默认<环境<网站<页。 具有更高优先级的配置可以覆盖较低配置中的字段。

    例如: 默认配置:

    {
     "a":{
       "b":"c"
      }
     "default":{
       }
    } 
    

    Env配置:

    {
      "a": {
        "b":"c" 
      }
    }
    

    网站配置:

    {
      "a": {
        "b":"c"
      }
    }
    

    页面配置:

    {
      "a": {
        "b":"c"
      }
    }
    

    因此,每当请求页面的配置时,我必须查询所有四个文档并合并它们。

    如果请求页面配置,这将是合并文档:

    {
      "a":{
        "b":"c"
      },
      "default": {
      }
    }
    

    因此,如果我的页面被请求了一百万次,那么对于每个请求的页面,我应该获取所有四个文档并根据它们的优先级进行合并。

    如何最好地存储此类数据,如何为每个页面加载删除四个db调用。是否有更好的方法来存储此类配置数据?

0 个答案:

没有答案