2017-03-08 47 views
0

收集數據:將一個字符串轉換日期的查詢來獲取兩個日期之間的數據在MongoDB中

{ 
    "UserId":ObjectId('55525252525252'), 
    "CreatedDate":"Fri Apr 01 2015" 
}, 
{ 
    "UserId":ObjectId('55525252525252'), 
    "CreatedDate":"Fri Apr 01 2016" 
}, 
{ 
    "UserId":ObjectId('55525252525252'), 
    "CreatedDate":"Fri Apr 01 2017" 
} 


db.getDate.find({"UserID":ObjectId('55525252525252'),"CreatedDate":{"$gte":new Date('Fri Apr 01 2015'),"$lte":new Date('Fri Apr 01 2017')}}) 
  • 當我執行這個國家預期
  • 如何字符串轉換成它不返回數據日期進行查詢給予
+1

是存儲日期,日期類型不是對你的選擇嗎? – Veeram

+0

我沒有選擇將** CreatedDate **更改爲日期。它保存爲一個字符串 – Sri

+0

你有控制字符串格式嗎?如果您可以使用YYYY-MM-DD格式將日期保存爲ISO 8601,則您的查詢將按預期工作。 – Veeram

回答

0

,可以儲存日期Date格式,您可以將您現有的使用CreatedDate場:

db.getDate.find().forEach(function(doc) { 
    doc.CreatedDate = new Date(doc.CreatedDate); 
    db.getDate.save(doc); 
}); 

在查詢構建Date()new Date("<YYYY-mm-dd>")

db.getDate.find({ 
    "CreatedDate": { 
     "$gte": new Date('2015-04-01'), 
     "$lte": new Date('2017-04-01') 
    } 
}) 
相關問題