我对mongodb有意见。有人能解释一下为什么这样做(给出了一些结果):
db.getCollection('test').find({"reportedOn" : { "$gte" : ISODate("2019-03-01T01:20:00"), "$lt" : ISODate("2019-04-01T02:00:00") } });
这不起作用(返回零):
db.getCollection('test').find({"reportedOn" : { "$gte" : { "$date" : 1551398400000 }, "$lt" : { "$date" : 1554073200000 } } });
非常感谢。
尝试以下查询
{ "$date" : { "$numberLong" : "<dateAsMilliseconds>" } }
如MongoDB文档中所述,而不是仅与$日期进行比较。链接
您可能需要检查此类相关主题,以了解为什么您实际上不能在查询中直接使用epoch时间。
以下是查询日期的有趣部分:
根据mongo Shell中的数据类型,两者都应等效:
mongo db提供了各种方法来返回日期,可以是字符串或日期对象:
并且使用ISODate
仍然应该返回一个Date对象。
{"$date":"ISO-8601 string"}
可以在需要严格的JSON表示时使用。
因此,您可能需要检查所有ISO-8601可用的格式,并根据预期的格式相应地更新代码,以使其按预期工作。
问题内容: 我想查询日期范围内的elasticsearch文档。我现在有两个选择,两个都适合我。已经测试了他们两个。1.范围查询2.范围过滤器 由于我现在的数据集很小,因此无法测试它们的性能。两者有什么区别?哪个会导致更快地检索文档和更快地响应? 问题答案: 查询和过滤器之间的主要区别在于评分。查询将返回每个文档具有相对排名得分的文档。过滤器没有。这种差异使过滤器更快,有两个原因。首先,它不会产生
问题内容: 我在一个模型中有一个领域,例如: 现在,我需要按日期范围过滤对象。 如何过滤日期在和之间的所有对象? 问题答案: 用 或者,如果你只是想按月过滤:
问题内容: 我正在尝试获取IP范围查询以处理一组文档,但是没有任何结果。 映射(我已经尝试了和): 数据看起来像这样(许多实例的值都不同) 现在,我去看了官方的ES文档,但是没有IP范围示例,但是我在Git上找到了一个不起作用的示例。它看起来如下: 当我用手指指住字段和地址时,上面的方法引发了一些令人鼓舞的解析错误,但最终没有返回结果。 我还尝试了标准范围语法: 这也没有返回结果。如何查询一系列I
问题内容: 我在一个模型中有一个领域,例如: 现在,我需要按日期范围过滤对象。 如何过滤日期在1-Jan-2019和之间的所有对象31-Jan-2019? 问题答案: 采用 或者,如果你只是想按月过滤:
我需要帮助查询与日期范围的长收集。请参阅下面的示例文档。我想用日期范围查询startTime字段。
可以对模型的查询和写入操作进行封装,例如: <?php namespace app\index\model; use think\Model; class User extends Model { public function scopeThinkphp($query) { $query->where('name','thinkphp')->field('i