mongodb 在时间戳上查询mongo

zf9nrax1  于 2023-04-20  发布在  Go
关注(0)|答案(2)|浏览(159)

我想根据时间戳查询Mongo。下面是mongo中的字段。

"timestamp" : "2016-03-07 11:33:48"

Books是集合名称,下面是我对1分钟时间段的查询:

db.Books.find({"timestamp":{$gte: ISODate("2016-03-07T11:33:48.000Z"), $lt: ISODate("2016-03-07T11:34:48.000Z")}})

也有没有其他的选择,比如我不必给时间戳更大和更低的限制。但是提到了基于时间间隔的查询。比如,如果当前时间戳是TS =“2016-03- 07 T11:33:48.000Z”,那么查询应该在TS和TS + 1分钟之间,而不是显式地提到时间戳。比如增加1分钟到当前时间戳

eqfvzcg8

eqfvzcg81#

db.Books.find({"timestamp":{$gte: "2016-03-07 11:33:48", $lt: "2016-03-07 11:34:48"}})

此处不需要ISODate

5vf7fwbs

5vf7fwbs2#

如果有人正在使用MongoDB Atlas GUI的Collections选项卡界面搜索如何做到这一点,这就是人们会做的事情。可以将此查询字符串放入“Filter”UI并点击Apply:
假设模式中有一个名为“modified_time”的时间戳字段,类型为“Date”,则需要将其用作Filter输入:

{ modified_time: {$gt: ISODate('2023-01-01')} }

请注意,在这种情况下,使用“Date”而不是“ISODate”将不起作用。并且不使用ISODate()也不会像其他答案那样起作用,这是在以编程方式执行时。

相关问题