MongoDB 反过来保存条目

MongoDB save entries the other way round

我使用 NodeJS,并且我有一个包含很多条目的 MongoDB 集合。 99% 的时间选择最后一个条目,有时是之前的条目。由于 MongoDB 必须一个接一个地遍历所有条目,因此以相反的方式对条目进行排序会更有用: 而不是这个:

{
    _id: "foo",
    name: "name"
},
{
    _id: "bar",
    name: "name"
}
// <- new entry will be inserted here

我想用这个:

// <- new entry will be inserted here
{
    _id: "foo",
    name: "name"
},
{
    _id: "bar",
    name: "name"
},

所以在大多数情况下,我搜索的条目是第一项或第二项。

这是否可能甚至是必要的(它对速度有什么影响)吗?

我也可以反转项目然后遍历它们,但我认为这不会更快。

您不必担心该项目在集合中的位置。每个集合在 _id 字段上都有一个索引,因此如果您按此字段对集合进行排序并获取第一个(第二个或第三个)元素,您将立即进入(可能 0 毫秒)