开发者

Using Mongoid, if we modify a single item, will it pull out a big chunk of data and save back a big chuck of data?

Supposed we have something using Mongoid:

data: 
  'products':
    "2010-09-07":
      { pageviews: 123
    开发者_开发知识库    timeOnPage: 1823 }
    "2010-09-08":
      { pageviews: 138
        timeOnPage: 2607 } 
      ...

So 2, 3 years down the road, there will be 700 or 1000 dates mapping to a hash. If we modify 1 number, will it require reading the whole big object into memory, make the change, and write back the big object back to disk? Or does Mongoid know how to go to that particular location to change that 1 number?

I suppose if it is for reading one number, it shouldn't need to read the whole structure in RAM?


Yes to both.

For reading only select fields, see #3 on this list: http://www.mongodb.org/display/DOCS/Optimization#Optimization-Optimization%233%3ASelectonlyrelevantfields

For the typical analytic use case of incrementing a counter, see: http://www.mongodb.org/display/DOCS/Optimization#Optimization-IncrementOperations

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜