修剪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.