0

我对以下 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 匹配。

4

1 回答 1

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

在我看来,这应该有效。

于 2012-08-07T05:57:29.787 回答