1

私は長い整数を扱っています。

次のように、php でクエリ配列を作成しました。

$find_count = array("key"=>$keyword, "type"=>$type, "fromTime"=>array('$gt'=> $fromTimeEpoch, "\$lte" => $toTimeEpoch));

$cursor_count = $coll_count->find($find_count, $projection_count);//Query mongodb. $coll_count is a MongoDB collection.

ここで、$fromTimeEpoch と $toTimeEpoch は LONG 変数です。

$find_count をエコーすると、$fromTimeEpoch と $toTimeEpoch が正常に出力されます (1372617000000 のようなもの)。

ただし、これらのクエリは mongo サーバーに正しく到達していません。$fromTimeEpoch と $toTimeEpoch の値として mongo サーバーが受け取るものは負の整数 (-1858934720 のようなもの) です。

問題は、なぜこれらの LONG がマイナスに変換されるのかということです。

PHPで長い変数を渡す正しい方法は何ですか?

注:私のmongoデータベースでは、「fromTime」フィールドはLONG​​タイプです(STRINGではありません)。

4

1 に答える 1