【问题标题】:MongoDB find documents that matches either any of the conditions specified using aggregationMongoDB 查找与使用聚合指定的任何条件匹配的文档
【发布时间】:2013-04-08 18:14:52
【问题描述】:

我正在使用聚合在数据表中创建文本搜索功能。

$ops = array(      
  array(
    '$match' => array(                              
        "status" => "A",                    
        '$or' => array(
                array("team" => "Golz"),
                array("rank" => "freshmen")
        )                   
  )
)     

翻译成mysql,就是“select * from dbname where status='A' AND (team='Golz' OR rank='freshmen')。

DB 什么也不返回,它应该返回几个项目。

似乎是什么问题?

【问题讨论】:

    标签: datatables aggregation mongodb-php


    【解决方案1】:

    我似乎有一个变通办法,我就是这样做的。

    在 find() 中使用 $or 返回游标 obj。使用游标 obj,我将 id 传递给匹配聚合的 or 内部。所以在我的匹配数组中我有这样的东西:

     '$match' => array(                              
        "status" => "A",                    
        '$or' => array(
                array("id" => "1"),
                array("id" => "2"),
                array("id" => "3")
        )     
    

    【讨论】:

      猜你喜欢
      • 2014-01-14
      • 2014-10-24
      • 2020-06-29
      • 2020-03-22
      • 2022-06-16
      • 1970-01-01
      • 1970-01-01
      • 2019-05-06
      • 1970-01-01
      相关资源
      最近更新 更多