最近、リチウム フレームワーク + mongoDB を使い始めました。複数の or ステートメントを含む非常に単純なクエリを実行したいと考えています。DB に publish_up フィールドと publish_down フィールドを持つ記事があります。pulbis_down フィールドが現在よりも高い、または null かつ publish_up フィールドが現在よりも低い、または null のレコード/ドキュメントのみをフェッチしたい。
$items = $article::find('all', array(
'conditions' => array(
'$or' => array(
'$gt' => array('publish_down', $mongoDateNow),
'publish_down' => $mongDateNull
),
'$or' => array(
'$lt' => array('publish_up', $mongoDateNow),
'publish_up' => $mongDateNull
),
)
));
もちろん、このスニペットは間違っているため、2 番目の or ステートメントが最初のステートメントを上書きします (同じ配列キーのため)。それらを個別の配列にラップしようとしましたが、エラーが発生します。何か案が?