date总是用mongo开始

我有一个在mongoose中定义的数据模型:

var timeTicketSchema = mongoose.Schema({ relatedObjectId : mongoose.Schema.ObjectId, startTime : Date, endTime : Date, claimed: { type: Boolean, default : false }, claimedOn : Date, locked : { type : Boolean, default : false }, lockedOn : Date, bookingId : mongoose.Schema.ObjectId, pricePerHour : Number }); 

而当创build我以下面的格式发布,date从UTC开始毫秒:

 { "relatedObjectId": "561ee6bbe4b0f25b4aead5c8", "startTime" : "1448550000000", "endTime" : "1448551800000" } 

但是,当我看着我在mongo中创build的对象,对象没有正确的开始和结束时间:

 { "_id": { "$oid": "564cfb5e7c24fa1100991321" }, "endTime": { "$date": "1970-01-01T00:00:00.000Z" }, "startTime": { "$date": "1970-01-01T00:00:00.000Z" }, "relatedObjectId": { "$oid": "561ee6bbe4b0f25b4aead5c8" }, "locked": false, "claimed": false, "__v": 0 } 

插入代码非常简单:

 var timeTicket = new TimeTicket(); timeTicket.tutorId = tutorId; timeTicket.startTime = new Date(startTime); timeTicket.endTime = new Date(endTime); timeTicket.save(function(err, timeTicket){ if(err){ return next(err, null); } return next(null, timeTicket); }); 

我错过了什么,我的date是不是在做?

您需要先将时间戳转换为int,然后再将其转换为Date:

 var timeTicket = new TimeTicket(); timeTicket.tutorId = tutorId; timeTicket.startTime = new Date(parseInt(startTime)); timeTicket.endTime = new Date(parseInt(endTime)); timeTicket.save(function(err, timeTicket){ if(err){ return next(err, null); } return next(null, timeTicket); });