mongodb - 学说 Mongo 搜索
问题描述
在 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 shell 中进行查询,
db.collection.find({$text: {$search: "\"oxford tru\""}},{entityName:1})
以上 mongo shell 命令返回 5 个结果
解决方案
尝试$name = '"'.$name.'"';
没有必要在其中转义"
('
与在 mongo shell 中转义引号相反"
)
推荐阅读
- laravel - 如何在 Laravel Fortify 中进行身份验证后运行自定义代码?
- r - 在 streem_tweet 请求 rtweet 中使用布尔值
- entity-framework-core - 使用实体框架核心对 postgress 中的 jsonb 列进行部分更新
- godot - Navigation2D 总是返回空路径
- sql - 汇总函数仅限于 select 和 having 子句
- solidity - 处理事务时获取 VM 异常:还原错误
- django - Django:无法使用视图名称解析超链接关系的 URL
- vb.net - 如何在 vb.net 中验证长度变量
- amazon-web-services - 如何提高 AWS 安全组和网络 ACL 中的 IP/端口安全性?
- c# - 两个 docker 容器之间的 Dotnet SSL 错误