return 数组项,使用 mongodb 和 php 中的索引

return array item by using index in mongodb with php

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

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

有办法吗?

MongoDB 有 "dot notation" 这与 JavaScript 形式有点不同,因为这不是 JavaScript:

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

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

请注意,此 只是 return "that array item only",而只是对 "match" 该位置数组项的查询。如果您只期望 return 的匹配项目,那么您可以使用 positional $ 运算符和 "projection":

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

你可以这样做:

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