【发布时间】:2019-08-02 03:54:34
【问题描述】:
我有以下关于 mongo 的查询
db.getCollection('someCollection').find({"status":"failed","start_date": {$gt: new Date("2019/03/01")}})
这将检索所有状态为失败且 start_date 等于或大于“2019/03/01”的记录。
但是当我尝试只检索专门针对“2019/03/01”的记录时:
db.getCollection('someCollection').find({"status":"failed","start_date": {$eq: new Date("2019/03/01")}})
它不检索任何东西。
$lt 和 $gt 查询工作只是 $eq 不起作用。这是使用 $eq 的正确方法吗?
谢谢
【问题讨论】:
-
在专门为“2019/03/01”检索记录的示例中,您实际上是在查找状态为失败且
start_date等于“2019/03/06”的记录 -
@Misantorp 我很糟糕,我在玩多个值时没有粘贴正确的值
-
您要查找的确切文档是什么?日期比较也需要小时、分钟、秒和毫秒来匹配,所以这可能是您的问题
-
@kmdreko, $gt/$lt 不需要 hrs/min/secc/mil 你是说 $eq 需要吗?
-
@efx $lt/$gt 也比较它们,但由于它们在您的查询中都是零,因此不会看到效果
标签: mongodb