2012-08-06 76 views
0

我有一個小問題,用下面的MongoDB的PHP腳本

$collection = $this->db->retail_details; 
     $array = array('$OR'=>array(
      "salesperson"=>new MongoId($uid), 
      "Manager"=>new MongoId($uid) 
     )); 
     $cursor = $collection->find($array); 

我都行saleperson和經理,我senging THW正確$ UID爲經理它不會匹配的銷售人員,但它仍應該返回與管理器MongoID相匹配的數據。

+0

呃..究竟是什麼問題? – Stennie 2012-08-06 23:56:51

+0

它不起作用...?我真的很懷疑,如果人們正在嘗試別人提出的東西。並且我不明白,爲什麼這個問題關閉了。 @casperOne ...下次添加問號而不是關閉問題怎麼辦? – aurora 2012-09-23 19:03:28

回答

1

mongodb中的運算符區分大小寫。所以你應該使用「$或」而不是「$ OR」。但我認爲,您的查詢是不正確,也因爲「$或」需要一個索引數組爲它的標準:

$collection = $this->db->retail_details; 
$array = array('$or'=>array(
    array("salesperson"=>new MongoId($uid)), 
    array("Manager"=>new MongoId($uid)) 
)); 
$cursor = $collection->find($array); 

這應該工作,在我看來。