我似乎无法在MongoDB中使用最基本的日期查询.使用看起来像这样的文档:
{
"_id" : "foobar/201310",
"ap" : "foobar",
"dt" : ISODate("2013-10-01T00:00:00.000Z"),
"tl" : 375439
}
Run Code Online (Sandbox Code Playgroud)
一个看起来像这样的查询:
{
"dt" : {
"$gte" : {
"$date" : "2013-10-01T00:00:00.000Z"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我从执行中得到0结果:
db.mycollection.find({
"dt" : { "$gte" : { "$date" : "2013-10-01T00:00:00.000Z"}}
})
Run Code Online (Sandbox Code Playgroud)
知道为什么这不起作用吗?
作为参考,此查询由Spring的MongoTemplate生成,因此我无法直接控制最终发送到MongoDB的查询.
(PS)
> db.version()
2.4.7
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在尝试使用mongodump命令转储在特定日期创建的一堆记录.记录包括一个"ts"字段,它是一个MongoDB Date()对象.
mongodump采用-q参数,该参数可用于运行查询以选择要包含在转储中的记录.不幸的是,-q参数需要在JSON中提供,并且不清楚如何在纯JSON中表达"少于此日期,超过此日期"的查询(通常这样的查询将使用' new Date()'constructor)"
有小费吗?我已经尝试使用{$ date:unix-timestamp-in-milliseconds}格式,但它对我不起作用.