2016-12-13 81 views
3

我想從expressjs插入一個日期值到mongodb。我正在使用mongodb本地驅動程序。從nodejs插入日期值到mongodb

問題是,當我使用創建一個對象並使用該變量插入它時,日期被插入爲字符串。以下是DB-

{ 
    "_id" : ObjectId("584f9b6e8c06a5717d10ee59"), 
    "date" : "2016-12-13T06:55:24.698Z", 
} 

的樣品 -

var expenseTest = {date: new Date()}; 

database.collection('expensemaster').insert(expenseTest, function(err, r){ 
    console.log("query executed"); 
}); 

這裏的值,但是當我在插入查詢直接插入對象的日期返回爲ISODate(日期)。

這裏是DB-

{ 
    "_id" : ObjectId("584fba82566fc8787e75a7ed"), 
    "date" : ISODate("2016-12-13T09:08:18.441Z") 
} 

的樣品 -

database.collection('expensemaster').insert({date: new Date()}, function(err, r) { 
    console.log("query executed"); 
}); 

值我的問題是 - 如果我不得不使用insertMany插入有日期對象的數組的一個領域。

如何在數據庫中獲取ISODate(日期)的日期。

回答

2

當你插入的不是調用

database.collection('expensemaster').insert({date: new Date()}, function(err, r) { 
console.log("query executed"); 
}); 

使用本:

database.collection('expensemaster').insert({date: new Date(Date.now()).toISOString()}, function(err, r) { 

console.log("query executed"); 
}); 

這將創建一個ISO日期爲您插入。我使用Date.now(),但你可以在那裏插入你想要的任何日期。下面是一個什麼樣的.toISOString確實

console.log(new Date(Date.now()).toISOString());

+1

感謝@ Dennington熊爲您輸入控制檯日誌,但我問是相反的。我想在ISODate(日期)DB中的日期。這裏的問題是如果我有ex- [{date:new Date()},{ - },{ - }]的對象數組,我想直接將此數組傳遞給insertMany查詢,那麼如何獲得ISODate (日期) –