mongodb $ OR声明

时间:2012-08-06 23:45:20

标签: php mongodb

我对以下MongoDB PHP脚本有一个小问题

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

我拥有所有行saleperson和Manager,我正在为管理员提供正确的$ UID,它与销售人员不匹配,但它仍应返回与Manager MongoID匹配的数据。

1 个答案:

答案 0 :(得分:1)

mongodb中的运算符区分大小写。所以你应该使用“$ or”而不是“$ OR”。但我认为你的查询也是不正确的,因为“$ or”需要一个索引数组作为它的标准:

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

在我看来,这应该有用。