find on created on返回0

时间:2015-07-26 19:25:07

标签: mongodb date find

我想找到两个日期之间使用mongoDB创建的计数:

db.getCollection('annonces').find({created_on: {$gte: "2015-06-23T11:11:05.000Z", $lt: "2015-08-23T11:11:05.000Z"}})

但它总是返回一个空值,而数据库包含一个:

"_id" : ObjectId("55b0cbc947a60eb012281005"),
    "name" : "Test",
    "type" : "video",
    "date_ajout" : ISODate("2015-07-23T11:11:05.000Z")

}

1 个答案:

答案 0 :(得分:0)

您可以使用 ISODate() 构造函数创建日期范围查询,该构造函数使用 ISODate() 包装器返回Date对象。请尝试以下方法:

db.getCollection('annonces').find({
    "date_ajout": {
        "$gte": ISODate("2015-06-23T11:11:05.000Z"), 
        "$lt": ISODate("2015-08-23T11:11:05.000Z")
    }
})

另一种方法是使用 new Date() 构造函数创建一个JavaScript日期对象,该构造函数使用ISODate()包装器返回Date对象:

var start = new Date(2015, 5, 23, 11, 11, 5);
var end = new Date(2015, 7, 23, 11, 11, 5);

db.annonces.find({"date_ajout": {"$gte": start, "$lt": end}});