mongodb $OR statement


mongodb $OR statement

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

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

有所有行销售人员和经理,我正在为经理准备正确的$UID它不会与销售人员匹配,但它仍然应该返回与经理 MongoID 匹配的数据。

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);

在我看来,这应该有效。