0

私はこのようにします:

$cursorLocations = $collection->find( array("locationName" => $locationName) )->limit(1);

if ($cursorLocations->count(true) == 1) {
    $idLocations = $cursorLocations->getNext();
    echo $idLocations["_id"];
}

この質問があった場合はすぐに謝罪しますが、ドキュメントを読んでも答えが見つかりませんでした。

たぶん、_idを取得する他の方法はありますか?

4

1 に答える 1

0

モンゴで:

db.collection.find({'field': 'value'}, {'_id' : 1});

PHPの場合:

$cursorLocations = $collection->find( array("locationName" => $locationName), array('_id' => 1) )->limit(1);

上記のコードは、クエリをフィールドのみを取得するように制限し_id、他のフィールドは取得しないようにします。find()関数の結果から、次の$cursorようにオブジェクトからそのフィールドの値を抽出する必要があります。

$_id = $cursorLoactions[`_id`];

key()現在を返すMongoCursorメソッドもあります_id

http://www.php.net/manual/en/mongocursor.key.php

だからあなたはこれを行うことができます:

$cursorLocations = $collection->find( array("locationName" => $locationName) )->limit(1);
$_id = $cursorLocations->key();
于 2012-07-14T21:25:04.950 に答える