Учение Монго поиска - PullRequest
       34

Учение Монго поиска

0 голосов
/ 05 декабря 2018

На странице справочника Mongo DB написано: " для соответствия фразе, а не отдельным терминам, заключите фразу в двойные кавычки (\")"

"\ "сертификат ssl \" "

Как я могу сделать это с помощью построителя запросов Doctrine? В данный момент я делаю запрос, как показано ниже:

$name = '\"'.$name.'\"';
$qb->field('entityName')->text($name)->getQuery()->toArray();

выше Запрос Doctrine возвращает пустой [] , запрос, используемый Doctrine, как показано ниже:

array:5 [
    "type" => 1
    "select" => array:1 [
        "entityName" => 1
    ]
    "limit" => 10
    "query" => array:1 [
        "$text" => array:1 [
        "$search" => "\"oxford tru\""
        ]
    ]
    "newObj" => []
]

если я выполняю запрос в оболочке mongo,

db.collection.find({$text: {$search: "\"oxford tru\""}},{entityName:1})

над командой оболочки mongo возвращает 5 результатов

1 Ответ

0 голосов
/ 07 декабря 2018

Попробуйте $name = '"'.$name.'"'; Нет необходимости убегать " в ' (в отличие от оболочки монго, где вы избегаете кавычек в пределах ")

...