MongoDB Schema Design for Big Schedule 推荐

Posted

技术标签:

【中文标题】MongoDB Schema Design for Big Schedule 推荐【英文标题】:Recommendation MongoDB Schema Design for Big Schedule 【发布时间】:2022-01-09 18:40:20 【问题描述】:

我正在学习 MongoDB,我需要架构设计建议。

所以,我有几个城市的祷告时间。我为 34 个省份中的 1 个省份制作了 1 个文件。

这是一个省份的例子:


  name: "Province A",
  slug: "province-a",
  cities: [
    
      name: 'City A',
      slug: 'city-a',
      latitude: `4° 09' 31.76" N`,
      longtitude: `96° 07' 28.86" E`
      times: 
        "2021": 
          "1": 
            "1": 
              date: 'Friday, 01/01/2021',
              imsak: '05:11',
              subuh: '05:21',
              terbit: '06:39',
              dhuha: '07:08',
              dzuhur: '12:42',
              ashar: '16:05',
              maghrib: '18:39',
              isya: '19:53'
            ,
            "2": 
              date: 'Saturday, 02/01/2021',
              imsak: '05:11',
              subuh: '05:21',
              terbit: '06:39',
              dhuha: '07:08',
              dzuhur: '12:42',
              ashar: '16:05',
              maghrib: '18:39',
              isya: '19:53'
            ,
            // other date ...
          ,
          // other month ...
        ,
        // other year (2021 - 2030) ...
      
    ,
    // other city
  ]

这是一种好的做法吗?

如果没有,您能否提供一个关于我的数据的最佳实践示例?

在此先感谢,非常感谢任何回答。

【问题讨论】:

【参考方案1】:

不,我认为将所有文档放在 raccomandations 架构中,但只有推荐实体的 _id 不是最佳实践。

这里是如何保存数据以供推荐的示例(在文档底部的架构中滚动):https://www.npmjs.com/package/mongoose-recommended-plugin

【讨论】:

以上是关于MongoDB Schema Design for Big Schedule 推荐的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB Schema Design - 许多小文档还是更少的大文档?

MongoDB 一对多关系建模

MongoDB聚合时间序列

MongoDB、时间序列和聚合框架

如何在 MongoDB 中聚合时间序列数据

MongoDB对象之间的关系