学说 Mongo 搜索

Doctrine Mongo search

在 Mongo DB 手册页上,它说,“要匹配一个短语,而不是单个术语,将短语括在转义双引号 (\")"

"\"ssl certificate\""

我如何使用 Doctrine 查询生成器来做到这一点? 目前,我查询如下:

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

以上Doctrine查询returns空[], Doctrine 使用的查询如下:

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

如果我在 mongo shell、

中进行查询
db.collection.find({$text: {$search: "\"oxford tru\""}},{entityName:1})

以上 mongo shell 命令 returns 5 个结果

尝试 $name = '"'.$name.'"'; 无需在 ' 中转义 "(与 mongo shell 相反,在 " 中转义引号)