我想在MongoDB中进行计数查询,直到特定日期(例如今天);所以它将计算到5月26日之前发现的所有行。
我有一个日期为ms的变量,所以我必须在php查询中传递它。有人可以帮助我吗?
编辑:
我有一个数据库tweetdb,有一个集合:testtweets。在testtweets中,每一行都是一个JSON格式的推文,日期符合" created_at"。希望我足够清楚。
答案 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();
请检查此查询。