Есть ли способ изменить значения монго в предложении where в поисковом запросе?
Именно этим я сейчас и пользуюсь:
$db->users->findOne(array("redirect_uri" => $arrParsedUrl['host']));
- Inв этом случае мне нужно убедиться, что значение, ранее вставленное в базу данных, является только частью хоста URL.
Что я хотел бы сделать, это примерно так (но это не работает):
$db->users->findOne(array(parse_url("redirect_uri")['host'] => $arrParsedUrl['host']));
- В этом случае я смогу вставить полный URL в базу данных с самого начала.Функция «parse_url» в запросе проверяет, действительно ли сравнивается только часть узла.
Есть идеи, как добиться чего-то похожего?
Редактировать: Я не хочуобновить значения в базе данных.Изменяйте только значение из базы данных, используемой в предложении where, которое сравнивается с входным значением.
Входное значение всегда будет частью хоста URL.
Edit2:
- У меня есть несколько документов в коллекции под названием пользователи.
- Все документы имеют поле с именем "redirect_uri", которое содержит URL.
- Когда я вызываю функцию php с URL-адресом в качестве ввода, я хотел бы вернуть документ, в котором основная часть входного URL-адреса совпадает с основной частью "redirect_uri" в документе.Например, http://www.foo.com/bananas ("redirect_url") = http://www.foo.com/apples (входной URL)
- Как я могу запросить MongoDB, чтобы получить документ, в котором основная часть "redirect_url" такая жекак часть хоста входного URL?Изменить входной URL-адрес для www.foo.com не проблема, но как я могу таким же образом изменить часть «redirect_url», чтобы запрос дал мне правильный ответ?