使用Mongoid,如果我们修改单个项目,它是否会提取大量数据并节省大量数据?

时间:2010-09-10 22:52:48

标签: ruby-on-rails mongodb mongoid

假设我们有使用Mongoid的东西:

data: 
  'products':
    "2010-09-07":
      { pageviews: 123
        timeOnPage: 1823 }
    "2010-09-08":
      { pageviews: 138
        timeOnPage: 2607 } 
      ...

所以2,3年后,将有700或1000个日期映射到哈希。如果我们修改1个数字,是否需要将整个大对象读入内存,进行更改,并将大对象写回磁盘?或者Mongoid知道如何去那个特定的地方改变那个1号码?

我想如果是读取一个数字,它应该不需要读取RAM中的整个结构吗?

1 个答案:

答案 0 :(得分:0)

两者都是。

仅读取选择字段,请参阅此列表中的#3: http://www.mongodb.org/display/DOCS/Optimization#Optimization-Optimization%233%3ASelectonlyrelevantfields

有关递增计数器的典型分析用例,请参阅: http://www.mongodb.org/display/DOCS/Optimization#Optimization-IncrementOperations