我最近开始使用锂框架+ mongoDB。我想做一个包含多个 or 语句的非常简单的查询。我在数据库中有带有 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
),
)
));
当然这个片段是错误的,因此第二个 or 语句会覆盖第一个(因为相同的数组键)。我试图将它们包装到一个单独的数组中,但给出了错误。任何想法?