0

我正在尝试将以下示例从 mysql 转换为 Mongodb。

但是,我被困在一个点上。任何输入将不胜感激。

SQL查询:

$cmd = "SELECT COUNT(*) FROM (SELECT * FROM pkt_tbl WHERE m_out_port= " . $out_port . " AND m_time<=" . $selPointX . " AND m_time>=" . $startTime . ") AS pkt_tbl WHERE m_in_port=" . $i;

Mongodb查询(我尝试了什么):

    $find_query = array('m_out_port'=>$out_port, 'm_in_port'=>$i,'m_time'=>array('lte' => $selPointX, 'gte'=>$startTime));
$find_projections = count();
$result = $table->find($find_query, $find_projections);

我尝试了什么(除了代码)

我阅读了 mongodb 文档和其他 PHP.NET (Mongodocs),但仍然找不到相关的解决方案。

我不确定这是否正确/我正走在正确的道路上。

请说明。-R

4

1 回答 1

0

您需要对日期范围使用$gte$lte关键字(大于或等于和小于或等于)。现在您只选择那些日期等于startTime和的记录selPointX(因此,如果它们不同,则不会返回任何值)。

将您的时间条件更改为:

'm_time'=>array('$lte' => $selPointX, '$gte'=>$startTime)

如果您需要不包括这些时间,请使用$gt和/或$lt.

于 2013-07-16T02:05:58.957 回答