我正在使用 MongoDB v5。
我的大部分收藏都有时间数据,所以每个文档至少有一个日期时间。自然,我通常对最新数据最感兴趣,但默认情况下,mongo 似乎按插入顺序返回文档。
如何更改此设置,以便默认情况下首先显示最新数据?
我目前要么手动添加排序,要么为每个定义了排序的集合手动创建视图。
如果这有什么不同,我正在使用 MongoDB Compass;如有必要,我愿意考虑使用不同的工具。
我正在使用 MongoDB v5。
我的大部分收藏都有时间数据,所以每个文档至少有一个日期时间。自然,我通常对最新数据最感兴趣,但默认情况下,mongo 似乎按插入顺序返回文档。
如何更改此设置,以便默认情况下首先显示最新数据?
我目前要么手动添加排序,要么为每个定义了排序的集合手动创建视图。
如果这有什么不同,我正在使用 MongoDB Compass;如有必要,我愿意考虑使用不同的工具。
未指定排序顺序时,MongoDB 以自然顺序返回文档。自然顺序是未定义的“发现结果”,可能看起来与插入顺序一致,但绝对不能保证或可预测。
这些方法中的任何一种都可以工作,尽管为每个集合设置一个视图听起来需要更多的努力。我假设您正在创建索引来对查询结果进行排序以支持有效的查询。
我不知道有一个工具可以保存每个集合的默认排序顺序,但您可以将此作为您最喜欢的工具的功能建议提交(例如:指南针反馈)。Compass 功能建议(例如保存和恢复带有查询和排序设置的选项卡)也可以解决您的用例,值得点赞和关注。
如果你有额外的动力,你总是可以为 MongoDB Shell 或 Compass 编写一个插件。其范围将比 DBA Stack Exchange 问题涉及更多,并且最好在MongoDB 开发人员社区论坛的开发人员工具类别中进行讨论。