0

newb 在 localhost os x 10.6.8 上的 node / mongo 周围徘徊不使用中间件,因为我想了解首先发生了什么。

将多个文档导入 mongo。尝试按日期查找但不匹配。日期在 mongo 中是正确的,并且是从 mongo shell 中找到的,但在 node.js 中却提前了一天。

蒙哥

db.dates.find({date: new Date('1957-07-05')})

输出

{ "story" : "poster" : "admin", "date" : ISODate("1957-07-05T00:00:00Z"), "_id" : ObjectId("519d59eb4b35dd72180002bf") }

节点

collection.find({date:new Date('1957-07-05')}).toArray(function(err, items) {
console.log(items);
});

控制台输出

[ { poster: 'admin',
date: Thu Jul 04 1957 20:00:00 GMT-0400 (EDT),
_id: 519d59eb4b35dd72180002bf } ]

解决方案(?)

任何人来到这里似乎都是来自上面的 .toISOString() console.log(items[0].date); var wdf = new Date(items[0].date).toISOString(); 控制台.log(wdf);

4

1 回答 1

1

EDT (GMT-0400)当您构建没有明确时区的日期时,Node 使用您当前的时区(在这种情况下),而 mongo 只使用UTC.

于 2013-06-18T19:17:53.493 回答