Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 日期应该是嵌入的文档吗?_Ruby On Rails_Ruby On Rails 3_Mongodb_Mongoid - Fatal编程技术网

Ruby on rails 日期应该是嵌入的文档吗?

Ruby on rails 日期应该是嵌入的文档吗?,ruby-on-rails,ruby-on-rails-3,mongodb,mongoid,Ruby On Rails,Ruby On Rails 3,Mongodb,Mongoid,我正在使用Mongoid 3。我有一个视频模型。日期应该是嵌入文档还是数组类型 如果我有这种结构: { :id => 2, :dates => [ { :date => Time.now.strftime('%Y%m%d').to_i, :views => { :non_uniques => 1, :uniques => 1,

我正在使用Mongoid 3。我有一个视频模型。
日期
应该是嵌入文档还是数组类型

如果我有这种结构:

{
      :id => 2,
      :dates => [
        {
          :date => Time.now.strftime('%Y%m%d').to_i,
          :views => {
            :non_uniques => 1,
            :uniques => 1,
            :countries => {
              :us => 1,
              :uk => 1
            }
          },
          :likes => 1,
          :comments => 1,
        }
      ]
}

此外,如果
视图
国家
是嵌入文档吗?

由于您计划捕获带有日期的附加信息,我认为您当前的模式是正确的。还需要考虑一个方面,即如何使用数据或查询。如果您想查看特定日期的视频的总视图和喜欢度,我认为您的方法是正确的,但是如果您要显示总体喜欢度和喜欢度,而不是每天显示,那么阵列将更好。从NoSQL和嵌入式文档的意义上看,您所做的通常是正确的,但最后它完全取决于您想要查询的内容。在这里,你阅读每日统计数据的速度会非常快

那么
日期
视图
国家
将是单独的模式?i、 e.
video ebed\u许多日期
日期嵌入许多视图
视图嵌入许多国家
?听起来对吗?是的,这将是好的,正如我所说的,如果你的查询大部分时间显示所有这些信息的视频。即使你还可以有一个像country这样的收藏,以防你想为其他视图保留更多关于国家的详细信息,但如果你只是想显示国家名称,那么在视频文档中只保留国家名称。