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()返回 current的 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 回答