Я пытаюсь найти ближайшие дни рождения из документа, содержащего даты в формате DateTime в MongoDb , я нашел запрос на монго. Хочет запрос в Symfony Формат запроса агрегации
Этот монго-запрос возвращает нужный мне результат.
db.document.aggregate([{"$redact": {"$cond": [{"$and": [ { "$gte": [ { "$month": "$date_of_birth" }, 6 ] },{ "$lte": [ { "$month": "$date_of_birth" }, 7 ] },{ "$gte": [ { "$dayOfMonth": "$date_of_wedding" }, 1 ] },{ "$lte": [ { "$dayOfMonth": "$date_of_birth" }, 31 ] }]},"$$KEEP","$$PRUNE"]}}]);
php код
$builder=$dm->createAggregationBuilder('AppBundle:Document');
$builder->redact()->cond($builder->expr()->gte(['$month', 'date_of_wedding'], 6),'$$KEEP', '$$PRUNE');
$result = $builder->execute()->toArray();
Требуется O / P: -
Нужны люди с наступающими днями рождения