在我以前的MYSQL数据库中,我使用以下MYSQL查询。 因为我将数据库迁移到mongoDB,所以我必须迁移查询。MongoDB查询选择与内部选择与分组
在我的旧的MySQL数据库我用下面的查询
SELECT idValue,
Timestamp,
Value
FROM (
SELECT *
FROM Metingen2
WHERE idGroep = 123
ORDER BY idValue ASC ,
Timestamp DESC
)
AS t GROUP BY t.idValue;
任何人都可以解释我是如何能够在内部选择查询做一个选择?
我尝试以下,但没有成功:
$ops = array(
array(
'$match' => array(
'idGroep' => (int)123,
)
),
array(
'$sort' => array(
"idValue" => 1,
"Timestamp" => -1,
)
),
array(
'$group' => array(
"_id" => array("idValue" => '$idValue',
),
),
),
array(
'$project' => array(
"_id" => '$_id.idValue',
"Timestamp" => '$_id.Timestamp',
"Value" => '$value',
),
),
);
$cursor_metingen2 = $collection_metingen2->aggregate($ops);
那么你的数据不再在MySQL中,它在MongoDB中。因此,请显示数据的外观以及您希望从数据中获得的结果。 SQL已经没有关系了,而且总是作为对问题的一个糟糕的解释。正如它在这里没有解释这个问题一样。 –
对不起,我重写了这个问题。 –
在这里看不到任何重写,但SQL翻译应该足够简单。你真的不应该问“如何重写这个SQL”,而是显示数据和预期的结果。这是一个更广泛的受众更清晰的问题。放入SQL仅供参考。 –