我的文档如下:
{
"_id" : ObjectId("579f205f20754ea8cc58e22e"),
"date" : ISODate("2016-08-01T10:11:00.000Z"),
"httpRequestData" : {"charset" : "null", "encoding" : "gzip, deflate"},
"status" : "normalized"
}
我希望查询它:选择一些列并应用指定“状态和日期范围”的“where”子句。
所以:
db.fingerprint.find({"status" : {"$ne" : "deprecated"}},
{ "date": 1, 'httpRequestData.ipAdress': 1},
{"date" : { $gte : new ISODate("2016-08-30") }})
但它似乎没有选择我想要的时间范围,显示我所说的日期之前的日期记录。
我做错了什么?
答案 0 :(得分:1)
您正在错误地放置日期范围查询;你应该把它放在与你的状态查询相同的文件/对象中,即
db.fingerprint.find(
{
"status": { "$ne": "deprecated" },
"date": { "$gte": new ISODate("2016-08-30") }
},
{ "date": 1, "httpRequestData.ipAdress": 1 },
)