Node.js 使用日期不正确的节点js从mongo db检索日期

Node.js 使用日期不正确的节点js从mongo db检索日期,node.js,mongodb,Node.js,Mongodb,我正在mongo db中存储以下文档 { "username" : "abc@gmail.com", "TokenExpires" : ISODate("2015-02-06T05:48:11.837Z"), "token" : "2c035545a5059c41a27e1312", "_id" : ObjectId("54d0611b6136819118fee461") } 当我使用mongo db library在node js中检索文档时,我得到了Toke

我正在mongo db中存储以下文档

{
    "username" : "abc@gmail.com",
    "TokenExpires" : ISODate("2015-02-06T05:48:11.837Z"),
    "token" : "2c035545a5059c41a27e1312",
    "_id" : ObjectId("54d0611b6136819118fee461")
}
当我使用mongo db library在node js中检索文档时,我得到了TokenExpires文件的日期,如下所示

    { username: 'abc@gmail.com',
      TokenExpires: Tue Feb 03 2015 11:34:18 GMT+0530 (IST),
      token: '2c035545a5059c41a27e1312',
      _id: 54d0611b6136819118fee461
    }
原始日期为2015年2月6日,但实际日期为2015年2月3日。 要插入文档的节点js脚本:

要读取的节点js脚本:


我正在使用mongodb library 1.3.23。是否有人可以帮助解决此问题?

如何插入日期,如在db.collection.insert{tokeexpires:new date}??如节点js中的以下内容。要使到期日期在72小时内有效,var doc={用户名:abc@gmail.com,token:2c035545a5059c41a27e1312,TokenExpires:new DateDate.now+3*24*60*60*1000,};我尝试了您的代码,无法复制,返回的值是预期值,驱动程序1.3.23和1.4.x-您可以共享使用shell插入、节点查询的完整脚本吗?
var doc = {
                username: abc@gmail.com,
                token: 2c035545a5059c41a27e1312,
                TokenExpires:new Date(Date.now()+(3*24*60*60*1000)),
              };
  function create (doc){

        var deferred = Q.defer();
        db.collection("xyz",{safe:true},deferred.makeNodeResolver());
        return deferred.promise.then(function(collection) {
            var deferred = Q.defer();
            collection.save(doc,{safe:true},deferred.makeNodeResolver());
            return deferred.promise.fail(function(err){
                if (err.code === 11000) {
                    err = new Error("document already exists");
                    err.status = 409;
                    return Q.reject(err);
                }
                return Q.reject(err);
            });
        });
    }
var doc={
        token:'2c035545a5059c41a27e1312'
    };
 function read (doc) {
        var deferred = Q.defer();
        db.collection("xyz",{safe:true},deferred.makeNodeResolver());
        return deferred.promise.then(function(collection) {
            var deferred = Q.defer();
            collection.findOne(selector,deferred.makeNodeResolver());
            return deferred.promise
                .fail(function(err){
                    log.error("error finding object",{
                        error:err.toString(),
                        collection: "xyz",
                        selector:selector
                    });
                    return Q.reject(err);
                });
        },function(err){
            log.error("error getting " + "xyz"+ " collection",{error:err.toString()});
            return Q.reject(err);
        });
    }