使用php在mongodb中使用索引返回数组项

时间:2015-03-03 09:43:08

标签: php mongodb mongodb-query

我想知道如何通过使用php在mongodb中使用索引返回数组项:

findOne(array('num[1]' => 'field_id')))

有办法吗?

2 个答案:

答案 0 :(得分:2)

MongoDB有"dot notation",它与JavaScript表单略有不同,因为这不是JavaScript:

findOne(array("num.1" => "field_id"))

注意每个位置的数组索引是n-1,所以这意味着数组的“第二”元素。

请注意,此只返回“仅限该数组项”,而只是一个“匹配”该位置数组项的查询。如果您只希望返回匹配的项目,那么您也可以使用positional $运算符和“投影”:

findOne(array("num.1" => "field_id"),array( "num.$" => 1))

答案 1 :(得分:0)

你可以这样做:

$id = new MongoId($text_id);
$collection = $db->selectCollection ("mytable");
$doc = $collection->findOne(array('_id' => $id));
echo json_encode($doc);