2011-09-17 106 views
15

我无法弄清楚我的生活是从or参数中选择一个集合。这对我来说根本不起作用,我也无法真正找到任何关于php的文档。

这里是我的示例代码不返回任何内容,即使他们集合中存在:

$cursor = $products->find(
    array(
     '$or' => array(
      "brand" => "anti-clothes", 
      "allSizes" => "small" 
     ) 
    ) 
); 
+1

有这些概念叫做*市值*和*撇号* ...我不知道为什么有那么多似乎忘记/提问的时候忽略了他们...':P' –

回答

44
The $or operator lets you use boolean or in a query. 
You give $or an array of expressions, any of which can satisfy the query. 

您在阵列中提供的只有一个元素。用途:

find(array('$or' => array(
    array("brand" => "anti-clothes"), 
    array("allSizes" => "small") 
))); 
+0

真棒..谢谢。这工作。 – Andrew

+0

@Andrew - 您应该点击回答旁边的复选标记,将答案标记为正确。 –

+0

是的,它说我不得不等待4分钟才能接受答案出于某种原因 – Andrew