2

是否可以按粒度对 MongoDB 的日期值进行排序?

我想按日期排序我的结果,但我不关心小时/分钟/秒数据。我不希望存储像“20101215”这样的附加参数。

4

1 回答 1

1

您的问题的简短回答是“否”。不存储另一个字段是不可能的。即使在 Mongo 中排序时您可能不想 b/c,您确实需要索引您排序的字段,否则数据库将需要扫描数据库中的每个文档以进行排序。因此,如果您要按照您的建议进行操作,您还需要对部分日期字段进行索引,这在 mongo 中也是不可能的。

我认为最好的方法是存储 2 个字段,一个用于年/月/日,另一个用于小时/分钟/秒。然后,您将在排序和索引方面拥有更大的灵活性。它不像您可能想要的那样干净或理想,但这是 db 的唯一选择。

另一种选择是在结果返回后优化您的应用程序中的顺序。

于 2010-12-28T06:54:47.373 回答