Reputation: 1231
I'm trying to get today's data from mongodb.
Here is a sample document:
{
"_id": ObjectId("586a284a1f815b55608b456b"),
"timestamp": "02/01/2017 03:45:36",
"data": "29",
"lat": "not available",
"time": ISODate("2017-01-02T10:15:38.57Z")
}
And here is the PHP code:
$query = array('time'=>array ('$gte'=>new mongoDate()));
$str = $collection->find($query);
foreach($str as $doc)
print_r($doc);
What am I doing wrong? I'm getting empty output.
Upvotes: 1
Views: 1869
Reputation: 3266
You have a past date in the data and you are querying for the date greater than or equal to the current date i.e now or the future, which will be empty. You may need $lte (less than or equal to) which makes your query :
$query = array('time'=>array ('$lte'=>new mongoDate()));
Upvotes: 2
Reputation: 4766
You're using greater than
and you have no datasets in the future, so there's nothing to be found.
I think that you're looking for $lte lesser than
, which will give you datasets from the past.
Upvotes: 2