$或需要非空数组异常


$or requires nonempty array exception

我需要从Mongodb数据库中获取数据,我的代码如下,

    $collection = $global["dbmongo"] -> person_uuid;
    $rows = $collection->find(array("p_uuid" => $global['uuid'],
            '$or'=>array(
                    'expiry_date'=>null,
                    'expiry_date'=> '0000-01-01 00:00:00'
            )
    )
    );

但它表明,

$or需要非空数组

如果我写echo "count".$count; var_dump($rows); 则输出为countArrayobject(MongoCursor)#48 (0) { },与上述输出相加请帮帮我。

问题出在这个部分:

array(
  'expiry_date'=>null,
  'expiry_date'=> '0000-01-01 00:00:00'
)

键是相同的,因此一个键会覆盖另一个键。你可以在运营商中使用$,并做一些类似的事情

'expiry_date' => array(
  '$in' => array(null, '0000-01-01 00:00:00')
)

此外,很难理解你到底在这里找什么。