我们可以在MongoDB中以降序保存新记录吗?这样第一个保存的文档将在查找查询中最后返回。我不想使用$sort
,因此数据应按降序预先存储。
有可能吗?
答案 0 :(得分:1)
除非您添加$sort
运算符,否则MongoDB无法保证记录的顺序。即使记录恰好在磁盘上排序,也不能保证MongoDB总是以相同的顺序返回记录。 MongoDB做了相当多的工作,随着数据大小的增加,查询优化器可能会选择不同的执行计划并以不同的顺序返回数据。
答案 1 :(得分:1)
根据上述说明,作为替代解决方案,如果您不需要使用$ sort,则需要创建上限集合,其中维护文档插入顺序进入MongoDB集合
有关MongoDB中Capped集合的更多详细说明,请参阅以下URL中提到的文档
https://docs.mongodb.org/manual/core/capped-collections/
但请注意,上限集合是固定大小的集合,因此当集合大小超过上限集合的大小时,它会自动刷新旧文档