gpt4 book ai didi

mongodb - 有没有一种简单的方法可以在 MongoDB 中获取最近 N 天的记录?

转载 作者:可可西里 更新时间:2023-11-01 09:11:44 26 4
gpt4 key购买 nike

如果我的记录有一个 created_date 字段,是否有一种简单的方法可以获取 7 天内创建的所有记录,而无需手动计算和添加开始和结束日期?

最佳答案

Mongo 没有像 SQL NOW() 这样的符号日期,您可以在客户端使用它并在服务器上对其进行评估。

解决问题的最佳方法是在客户端评估计算日期。在您的特定情况下,由于将来不会创建记录,因此您可能只需要在客户端计算“现在减 7 天”,并将该日期放入查询中。

顺便说一句,如果您需要服务器的确切日期,您可以像这样获取它:

db.eval( function() { return new Date() } ); 

使用大多数驱动程序,您应该能够使用 $eval 命令完成此操作。

最后,您可以使用 where() 表达式完全在服务器上完成此操作。但是,我不推荐这种方法。此类查询无法利用索引,因此必须反序列化集合中的每条记录。除非您的收藏很小,否则它们非常慢。不过,如果您想采用这种方法,可以在 JavaScript 中为您的 where() 表达式使用 new Date()

关于mongodb - 有没有一种简单的方法可以在 MongoDB 中获取最近 N 天的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17690472/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com