2015-11-25 33 views
1

我對貓鼬定義爲這樣的數據模型:約會總是UTC開始在蒙戈

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 
}); 

和創造,我在下面的格式發佈時,日期是從UTC開始毫秒:

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

但是當我看到在我的蒙哥創建的對象,該對象不正確的開始和結束時間:

{ 
"_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); 
}); 

我在想什麼,我的日期不在?

回答

1

你需要轉換的時間戳將它們轉換爲日期之前parseInt()先INT:

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); 
});