【发布时间】:2015-05-21 04:19:47
【问题描述】:
我在 MongoDB 中插入了一个文档,例如:
db.test.insert({date:20150101});
当我尝试使用db.test.find({date:"20150101"}) 搜索时(带双引号的日期字符串),没有返回任何结果。
只有当我使用db.test.find({date:20150101}) 时,它才会返回一个结果。看来 MongoDB 会严格比较日期值。
有什么方法可以用双引号或数字版本搜索它?
【问题讨论】:
-
20150101 是指 2015 年 1 月 1 日吗?
-
@codeofnode 是的。我想知道您是否可以帮助我做两件事:[1] 使用字符串类型的日期或数字类型的日期搜索日期。 [2] 在搜索结果中查找日期的范围。
-
for [1] 参考我的答案,我没有得到你的答案 [2].. 你在说什么范围
-
@codeofnode 谢谢,我不太明白 [1] 是如何工作的,但我稍后会弄清楚。对于 [2],因为我们可能会得到多个结果(我的日期搜索示例可能不正确,因为它似乎已被确定为一天,但它可能会在小时和分钟处有所不同,或者我们可能会使用 $gt $ lt etcs,所以让我以其他字段为例,我们说字段“价格”,我们搜索所有大于某个值的价格),我怎样才能得到这些结果的范围?
-
据我想象,您确实需要编写脚本而不是仅仅触发命令,在找到结果后只需找到最低价格和最高价格并打印结果。您可以参考docs.mongodb.org/manual/tutorial/… 了解如何在 mongo db 中编写脚本
标签: mongodb double-quotes