gpt4 book ai didi

javascript - Mongo 日期范围查询 (GMT)

转载 作者:行者123 更新时间:2023-11-30 17:19:43 25 4
gpt4 key购买 nike

我有两个变量:

var start = 'Sun, 17 Aug 2014 04:00:00 GMT';
var end = 'Mon, 18 Aug 2014 04:00:00 GMT';

当我尝试在 mongodb 命令行中运行查询时:

 db.model.find({"utctime": {$gte: start, $lt: end}})

它不返回任何数据。

文档是:

{ "__v" : 0, "_id" : ObjectId("53f1663cb07994e23738d96f"), "utctime" : ISODate("2014-08-18T02:34:21.225Z")}
{ "__v" : 0, "_id" : ObjectId("53f1646ef2ab609325414462"), "utctime" : ISODate("2014-08-17T23:06:21.364Z")}
{ "__v" : 0, "_id" : ObjectId("53f163c6f2ab609325414461"), "utctime" : ISODate("2014-08-17T23:06:21.364Z")}
{ "__v" : 0, "_id" : ObjectId("53f1066a790f5f3d11a42a4b"), "utctime" : ISODate("2014-08-17T19:45:19.669Z")}
{ "__v" : 0, "_id" : ObjectId("53f0d9273af087e674e6f351"), "utctime" : ISODate("2014-08-17T16:31:54.715Z")}

最佳答案

这些是“日期”对象而不是字符串。使用 JavaScript Date 对象构造函数或 ISODate 帮助器来创建用于比较的对象。或者在您的实际实现语言中使用相同类型的对象 cnstructors:

var start = new Date( "2014-08-17" );
var end = new Date( "2014-08-18" );

或者小时和分钟很重要的地方:

var start = new ISODate("2014-08-17T04:00:00.000Z");
var end = new ISODate("2014-08-18T04:00:00.000Z");

那么您的查询就可以正常工作了。

关于javascript - Mongo 日期范围查询 (GMT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25356700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com