mongodb $和expression必须是非空数组

时间:2014-04-10 07:52:50

标签: php mongodb mongodb-query

我是mongo的新手,我收到了错误消息。 $ user_id和$ this-> _id都是非空的(有效的mongo id)。

$criteria = array( 
    '$and' => array( 
        array('parent_id' =>$this->_id), 
        '$or' => array(
            array('user_id' => $user_id),
            array('from_user_id' => $user_id)
        )               
    ) 
);

错误说

$and expression must be a nonempty array 

有任何线索吗?

1 个答案:

答案 0 :(得分:1)

您尚未正确定义数组:

$criteria = array(
  '$and' => array(
    array('parent_id' => $this->_id ),
    array('$or' => array(
      array('user_id' => $user_id ),
      array('from_user_id' => $user_id ) 
    ))

) );

在提交查询之前,请尝试检查您的结构,以确保它们按预期格式化:

echo json_encode( $criteria, JSON_PRETTY_PRINT ) ."\n";