MongoDB计算到目前为止

时间:2016-05-26 13:25:53

标签: php mongodb

我想在MongoDB中进行计数查询,直到特定日期(例如今天);所以它将计算到5月26日之前发现的所有行。

我有一个日期为ms的变量,所以我必须在php查询中传递它。有人可以帮助我吗?

编辑:

我有一个数据库tweetdb,有一个集合:testtweets。在testtweets中,每一行都是一个JSON格式的推文,日期符合" created_at"。希望我足够清楚。

4 个答案:

答案 0 :(得分:1)

希望这有帮助。

db.testtweets.find( { "created_at":{ $lte: ISODate("2016-05-26")}}).count()

答案 1 :(得分:1)

继续@Sandesh的回答。你也可以做

 db.testtweets.count( { "created_at":{ $lte: ISODate("2016-05-26")}})

如果第26个包含,请使用$ lte。否则只需$ lt

p.s:如果你有分片群集,db.count()可能会返回不准确的结果。 然后db..find()。count()是首选。以下链接更详细地解释 https://docs.mongodb.com/manual/reference/method/db.collection.count/#sharded-clusters

答案 2 :(得分:0)

您可以使用mongodb-count$lte$lt来获取在26/05/1026之前创建的记录的数量。

db.testtweets.count( 
    { 
        "created_at":{ $lte: new Date("2016-05-26")}
    }
)

答案 3 :(得分:-2)

db.<collection name>.find({
    "created_at": {
        $lte: ISODate("2016-05-25T03:08:20Z")
    }
}).count();

请检查此查询。