我想知道如何通过使用php在mongodb中使用索引返回数组项:
findOne(array('num[1]' => 'field_id')))
有办法吗?
答案 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);