Я хочу знать, как вернуть элемент массива, используя индекс в mongodb с php:
findOne(array('num[1]' => 'field_id')))
есть ли способ сделать это?
MongoDB имеет "точечную нотацию", которая немного отличается от формы JavaScript, потому что это не JavaScript:
findOne(array("num.1" => "field_id"))
Отмечая, что индексы массива n-1
каждой позиции, значит, это означает "второй" элемент массива.
Обратите внимание, что это не просто возвращает "только этот элемент массива" и является просто запросом "сопоставить" элемент массива в позиции. Если вы ожидаете возвращения только согласованного элемента, то вы также используете оператор positional $
и "проецирование":
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);
"comment.num"
. Поймите отчетливую разницу.