我有一些PHP代码,我需要移植到node.js / Javascript,我不知道如何正确地执行此操作:一次只获取一行。
我有一个查询导致MASSIVE数据集;我只需要一些结果;但我不知道有多少。
在PHP中,我只执行查询,然后每行获取行,直到满足条件。 php伪代码:
$sql="select price, totvol from depth where.. order by price desc";
$result = mysql_query($sql) or die(mysql_error()); //massive dataset
while ($row=mysql_fetch_assoc($result) and some condition) {
do stuff until condition is met
}
我在node-mysql中看不到这个怎么样。我可以在sql查询中添加LIMIT 1并每次都创建一个新查询,但是如何获取有序列表中的下一行?任何提示都将非常感激。
如果有帮助,这是实际代码:
$sql='';
if ($type=="bid") $sql="select price, totvol from depth where price>=$price order by price asc";
elseif ($type=="ask") $sql="select price, totvol from depth where price<=$price order by price desc";
else echo "unknown type\n";
if ($sql!='') {
$result = mysql_query($sql) or die(mysql_error());
while ($row=mysql_fetch_assoc($result) and $amount_int>0) {
$newamount=max($row["totvol"]-$amount_int,0);
$amount_int-=$row["totvol"];
$sql2="update depth set totvol=$newamount where price=".$row["price"];
$result2 = mysql_query($sql) or ie(mysql_error());
}
}