2015-09-09 53 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); 
    }) 
}); 

让我知道,如果这帮助!