Некоторый документ mongo Пользователь содержит массив встроенного документа Message, в котором есть элемент "текст":
/**
* @MongoDB\EmbeddedDocument
*/
class Message {
/**
* @MongoDB\Field(type="string")
*/
protected $text;
}
/**
* @MongoDB\Document(collection="chats")
* @JMS\ExclusionPolicy("none")
*/
class User {
/**
* @MongoDB\EmbedMany(targetDocument=myBundle\Document\Message", strategy="addToSet")
*/
protected $messages = array();
}
Как заразить messages.text всех пользователей в datbaase для некоторой подстроки? Поэтому, если у кого-то пользователя есть сообщение "Hello Bob!", Этот будет найден путем поиска "Боба".
Вы попробовали что-то вроде:
$product = $this->get('doctrine_mongodb')
->getManager()
->createQueryBuilder('YourOwnBundle:User')
->field('messages.text')->equals(new \MongoRegex('Bob'))
;
Не забудьте использовать полнотекстовый индекс, если вы хотите выполнить какие-либо действия в этом виде запроса!