0
    $startplushowmany=$startfrom+$howmany; //$startplush is 40
    $cursor=$cursor->limit($startplushowmany);  

    $numberReturned=$cursor->count();   //$numberReturned is 45

$ cursorは_toStringを実装していないため、$cursorの内容を表示できません。その方法を教えてください。

これで、$cursorのクエリは次のコマンドで定義されます。$cursor = $ collection-> find($ rangeQuery、$ field);

$rangeQueryは

(string:592) Array
(
    [LongitudeLatitude] => Array
        (
            [$within] => Array
                (
                    [$center] => Array
                        (
                            [0] => Array
                                (
                                    [0] => 106.772835
                                    [1] => -6.186753
                                )

                            [1] => 0.044983732050783
                        )

                )

        )

    [indexContents] => bas
    [Prominent] => Array
        (
            [$gte] => 15
        )

)

$fieldは

(string:39) Array
(
    [LongitudeLatitude] => 1
)
4

1 に答える 1

1

カウントを考慮してカウントを行うには、ブールフラグを使用する必要があります。そうしないと、実際のカウントが得られます。

$numberReturned=$cursor->count(true);

PHPドキュメントからの引用例:

<?php

$collection->insert(array('x'=>1));
$collection->insert(array('x'=>2));
$collection->insert(array('x'=>3));

$cursor = $collection->find();

var_dump($cursor->count());
var_dump($cursor->count(true));

$cursor->limit(2);

var_dump($cursor->count());
var_dump($cursor->count(true));

?>

出力します:

int(3)
int(3)
int(3)
int(2)
于 2012-08-22T06:09:54.107 に答える