2015-09-09 85 views
0

這裏的我的MongoDB數據庫結構蒙戈:文件找到日期

coordinates : { 
    lat : {type: Number}, 
    lon : {type: Number}, 

}, 
timeStamp :{type: Date} , 
accuracy :{type: Number}, 
deviceId : {type: Number}, 
deviceType : {type: String}, 
simId : {type: String} 

我想找到最新的文檔。

這裏的我的文檔獲取查詢從MongoDB的

db.LocationInfoCollection.find({"deviceId":911441051085656,"timeStamp":{$gte:new Date("2015-09-07T12:56:44.000Z")}}) 

當我上面的查詢上運行的MongoDB返回空數組。

以上查詢完美運行在mongo shell上。但不是在我的代碼。在蒙戈

輸出外殼

{ 

    "timeStamp": "2015-09-08T12:31:24.000Z", 
    "accuracy": 5, 
    "deviceId": 911441051085656, 
    "simId": "123456", 
    "_id": "55eed361dfa115387dade3ce", 
    "coordinates": { 
     "lat": 20.998, 
     "lon": 75.5667 
    } 
    } 

我怎樣才能在上述日期查詢文檔。

+0

您已將「timestamp」存儲爲「String」DataType。請嘗試以下查詢:db.LocationInfoCollection.find({「deviceId」:911441051085656,「timeStamp」:{$ gte:「2015-09-07T12:56:44.000Z」}}); –

+0

@YathishManjunath我不會那麼肯定,因爲'_id'也在這個「dump」中被列爲「字符串」。但它可能是。這就是爲什麼一般要求在問題中顯示mongodb「shell」輸出的原因,所以清楚字段「類型」是什麼。但是如果'日期'轉換不匹配,情況可能如此。請從shell中添加'.findOne()'輸出來清除。哦,NIKHIL,如果「數據」實際上並不符合模式,那麼「模式」在這裏並不重要。請出示文件。同時顯示「代碼」,因爲這是你的問題所在。 –

+0

這是從運行貓鼬的「節點」應用程序的輸出。再試一次。複製粘貼。 –

回答

0

你可能想使我們的甲肝你的斷碼的理解EMORE在這裏添加您的服務器代碼,這裏是從server.js東西,你可能是說:

var app = require('express'); 
var Coordinate = require('/models/coordinate.js'); 
app.get('/api/coordinates/:id', function (req, res) { 
    var targetId = req.params.id; 
    Coordinate.findOne({_id: targetId}, function (err, review) { 
     coordinates.date 
     res.json(coordinates); 
    }) 
}); 

讓我知道,如果這幫助!