mongodb将项目推送到聚合集合的顶部

时间:2014-01-16 22:14:26

标签: mongodb

我有一种类型的文档,它有一个聚合数组,我限制200个具有最新日期的元素,每当我向这个数组添加新项目时,我按日期和切片排序,我将它改为200为了性能,但我想增加限制,尺寸不是问题,因为它们是最多7个元素的简单对象,我的问题是:

我想避免调用$sort,因为我认为它过于昂贵而且直接调用$slice,因为我认为按日期排序没有意义,但问题是最新的项目被添加到底部对于数组,有没有办法将项添加到数组的顶部?

这样就可以在不调用$sort的情况下对其进行排序,我可以直接$slice

1 个答案:

答案 0 :(得分:1)

如果没有在2.4或更早版本中排序,则无法执行此操作,但在下一个主要版本the $push operator中将additional capabilities,包括推送到阵列的,如果你总是插入比以前存储的更晚的日期,那么你可能想要做的事情。

该功能在开发版本2.5.3及更高版本中可用,但这些不是稳定的生产版本,因此我建议在其中尝试使用该功能,但在2.6发布之前不要部署到生产中。