Я тестирую свой запрос с MongoDB, он отлично работает, но когда я хочу вернуть данные в диапазоне дат, я выбираю его, возвращая те же данные, когда я тестировал его без диапазона дат, так что это означает, что не учитываетпараметры даты и времени, которые я прошел.
Я работаю в Symfony4, проекте MongoDB, поэтому вы можете найти здесь код моего запроса в ReactionRepository:
public function getCommonFans($pages, $users, $from, $to)
{
$builder = $this->dm->createAggregationBuilder(FbReaction::class);
$builder
->match()
->field('fbPage')->in($pages);
->field('fbUser')->in( $users)
->field('created_time')->gte($from)
->field('created_time')->lte($to);
$result = $builder->execute()->toArray();
}
Этоконтроллер:
public function getCommunFansByCompetitor (Request $request){
$reactionRepository = $this->get('doctrine_mongodb')->getManager()
->getRepository(FbReaction::class);
$from=$to=null;
try {
if($request->query->get('from'))
$from = new \DateTime($request->query->get('from'));
if($request->query->get('from'))
$to = new \DateTime($request->query->get('to'));
} catch (\Exception $e) {
}
$listOfCompetitorsPages = $reactionRepository->getCompetitors();
$listOfUsersOfCurrentPage = $reactionRepository->getFansOfCurrentPage();
$result = $reactionRepository->getCommonFans( $listOfCompetitorsPages , $listOfUsersOfCurrentPage , $from, $to);
$response= $this->get('jms_serializer')->serialize($result, 'json');
return new Response($response);
}
это документ, в котором я работаю