【问题标题】:mongodb $and expression must be a nonempty arraymongodb $and 表达式必须是非空数组
【发布时间】:2014-04-10 07:52:50
【问题描述】:

我是 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 

有什么线索吗?

【问题讨论】:

    标签: php mongodb mongodb-query


    【解决方案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";
    

    【讨论】:

    • 感谢您的回答。我现在知道如何使用json_encodeJSON_PRETTY_PRINT 来验证我的查询结构
    猜你喜欢
    • 2020-02-23
    • 1970-01-01
    • 2017-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多