2017-01-05 98 views
0

的文件我newbee到MongoDB的計數根據日期蒙戈

試圖計算基於集合的字段值的文件。 我插入時用於插入DATE()。 不過,雖然算的文件,也沒有顯示輸出

{ 
    "_id" : 6, 
    "WebUser" : "F", 
    "PassWord" : "F", 
    "MailId" : "[email protected]", 
    "Country" : "In", 
    "Contact" : { "Mobile" : "6" }, 
    "DOJ" : "Thu Jan 05 2017 16:55:08 GMT+0530 (India Standard Time)" 
} 

嘗試以下options.But沒有用。

db.WebUser.count({ DOJ: { $gt: new Date('01/01/2017') } }) 
0 
db.WebUser.count({ DOJ : { $gt: new Date('01-05-2017 16:55:08') } }) 
0 
db.WebUser.count({ DOJ : { $gt: new Date('Thu Jan 05 2017 16:55:08 GMT+0530 (India Standard Time') } }) 
0 

如何在查找(選擇),更新和刪除中處理mongo db中的DATE。 如何從日期轉換爲字符串和字符串日期? 如何添加月/年/日像天+ 1個月+ 5 是什麼beteween日期和isodate你要插入記錄的

db.test.insert({date: new Date()}) 

區別

感謝

回答

0

保存日期:{ 「_id」:物件( 「586e3e258fcf67917c9d4cb4」), 「日期」:ISODate( 「2017-01-05T12:37:57.450Z」)}

但我想你將它插入

db.test.insert({date: Date()}) 

它將日期轉換爲字符串。其中保存日期{ 「_id」:物件( 「586e3e328fcf67917c9d4cb5」), 「日期」: 「星期四2017年1月5日18時08分10秒GMT + 0530(IST)」} 爲你

+0

大家好,感謝您的信息。 New Date()和Date()之間有什麼區別? – raj

+0

新的Date()返回日期對象的實例。而Date()以字符串格式返回日期。 –

0

您的文檔具有簡單的字符串在DOJ字段中。這不是Date對象。你應該插入Date對象時要插入的文件:

db.WebUser.insert({_id:6,Country:"In",DOJ:new Date("01/01/2017")}) 

之後,你會看到在DOJ域是正確的數據類型:

{ 
    "_id" : 6, 
    "Country" : "In", 
    "DOJ" : ISODate("2016-12-31T18:30:00Z") 
} 

,但你可以很容易地解決您的數據。只需選擇類型爲String的DOJ領域的所有文件和更新這些文件:

db.WebUser.find({"DOJ":{$type:2}}).forEach(function(doc){ 
    db.WebUser.update({_id:doc._id},{$set:{DOJ:new Date(doc.DOJ)}}) 
}) 

運行此腳本您的文件將在正確的數據格式日期之後,你的查詢將正常工作。