想要在 mongodb 驱动程序类中执行“或”查询
Posted
技术标签:
【中文标题】想要在 mongodb 驱动程序类中执行“或”查询【英文标题】:Want to perform 'OR' query in mongodb driver class 【发布时间】:2019-06-09 10:01:44 【问题描述】:我的代码执行“AND”查询,但我想执行 OR 查询,但不知道该怎么做。下面是我的“AND”查询代码。 $match 执行“AND”查询。提前谢谢你
<?php
$command = new MongoDB\Driver\Command([
'aggregate' => 'master_admin',
'pipeline' => [
[
'$match' =>
['full_name' => 'gg', 'username' => 'gg'],
],
],
'cursor' => new stdClass,
]);
【问题讨论】:
我不明白你想要什么。你能告诉我们应该如何使用原始的 mongo shell 查询吗? 【参考方案1】:从官方文档中阅读它会是这样的
https://docs.mongodb.com/manual/reference/operator/query/or/
$command = new MongoDB\Driver\Command([
'aggregate' => 'master_admin',
'pipeline' => [
[
'$match' => [
'$or' => [
['full_name' => ['$eq' => 'gg']],
['username' => ['$eq' => 'gg']]
],
],
],
],
'cursor' => new stdClass,
]);
我尚未对其进行测试,但应该可以按照这些思路进行操作。在文档的帮助下,您应该能够按照您的意愿进行操作。
【讨论】:
类型:ParseErrorMessage:语法错误,意外 '=>' (T_DOUBLE_ARROW),在 'or' 处期望 ']' 我添加了缺少的括号,你现在可以试试@ManuNarang @ManuNarang 如果答案有帮助,您可以点赞,如果它解决了您的问题,请点击复选标记图标,以便未来的访问者知道它解决了您发布的问题以上是关于想要在 mongodb 驱动程序类中执行“或”查询的主要内容,如果未能解决你的问题,请参考以下文章
带有承诺的 MongoDB 查询不执行 if 语句(MongoDB node.js 驱动程序)