修剪mongo对象大小

修剪mongo对象大小

问题描述:

This is my document:

{
    "_id": {
        "$oid": "58e9a13999447d65550f4dd6"
    },
    "prices": {
        "20170409": 701.09,
        "20170408": 700.07
    },
    "stock": {
        "20170409": 0,
        "20170408": 0
    }
}

I append a lot of fields in document objects (prices, stock) but over time it ends up being huge, and thats just one document. I have 200k documents and each have prices and stock objects.

Wondering if there's any way I could keep those object size to 30 fields max, that is, older entries purged on reaching the limit?

这是我的文档: p>

  {
“_id  “:{
”$ oid“:”58e9a13999447d65550f4dd6“
},
”price“:{
”20170409“:701.09,
”20170408“:700.07 
},
”stock“:{  
“20170409”:0,
“20170408”:0 
} 
} 
  code>  pre> 
 
 

我在文档对象中添加了很多字段(价格, 股票)但随着时间的推移,它最终是巨大的,这只是一个文件。 我有200k文件,每个都有价格和库存对象。 p>

想知道我是否可以将这些对象大小保持在最多30个字段,也就是说,旧条目在达到限制时被清除? p> div>

Take a look here! You can do it with a combination of $push and $slice, the example on the link sort the array too, don't know if that is your need, but I think you will have a good start from there.