我使用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"
},
因此,在大多数情况下,我搜索的条目是第一个或第二个项目。
这是可能的还是必要的(速度有什么不同)?
我也可以反转这些项目,然后迭代它们,但我不认为这会更快。
答案 0 :(得分:0)
您不应该关注该集合中项目的位置。每个集合在_id字段上都有一个索引,因此如果您按照此字段对集合进行排序并采用第一个(第二个或第三个)元素,您将立即进入(可能为0毫秒)