【发布时间】:2015-03-03 09:43:07
【问题描述】:
我想知道如何在 php 中使用 mongodb 中的索引来返回数组项:
findOne(array('num[1]' => 'field_id')))
有办法吗?
【问题讨论】:
标签: php mongodb mongodb-query
我想知道如何在 php 中使用 mongodb 中的索引来返回数组项:
findOne(array('num[1]' => 'field_id')))
有办法吗?
【问题讨论】:
标签: php mongodb mongodb-query
MongoDB 有 "dot notation",这与 JavaScript 表单有点不同,因为这不是 JavaScript:
findOne(array("num.1" => "field_id"))
注意每个位置的数组索引是n-1,所以这意味着数组的“第二个”元素。
请注意,此不仅返回“仅该数组项”,而仅仅是“匹配”该位置的数组项的查询。如果您希望只返回匹配的项目,那么您也可以使用 positional $ 运算符和“投影”:
findOne(array("num.1" => "field_id"),array( "num.$" => 1))
【讨论】:
"comment.num"。了解明显的区别。
你可以这样做:
$id = new MongoId($text_id);
$collection = $db->selectCollection ("mytable");
$doc = $collection->findOne(array('_id' => $id));
echo json_encode($doc);
【讨论】: