(No version information available, might only be in Git)
Collection::find — Ищет документ
Ищет документ или набор документов в коллекции базы данных. Найденные документы возвращаются в виде объекта CollectionFind, из которого в дальнейшем можно извлекать результаты или изменять их.
search_conditionХотя это необязательно, обычно определяется условие, сужающее результаты до подмножества документов.
Условие могут составлять несколько элементов, синтаксис поддерживает привязку параметров. Выражение, используемое в качестве условия поиска, должно быть допустимым выражением SQL. Если условие поиска не указано (поле пустое), подразумевается find('true').
Объект CollectionFind для проверки операции или получения найденных документов.
Пример #1 Пример использования mysql_xdevapi\Collection::find()
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$collection->add('{"name": "Альфред", "age": 18, "job": "Дворецкий"}')->execute();
$collection->add('{"name": "Боб", "age": 19, "job": "Пловец"}')->execute();
$collection->add('{"name": "Фред", "age": 20, "job": "Строитель"}')->execute();
$collection->add('{"name": "Уилма", "age": 21, "job": "Учитель"}')->execute();
$collection->add('{"name": "Джон", "age": 22, "job": "Учитель"}')->execute();
$find = $collection->find('job LIKE :job AND age > :age');
$result = $find
->bind(['job' => 'Учитель', 'age' => 20])
->sort('age DESC')
->limit(2)
->execute();
print_r($result->fetchAll());
?>Результат выполнения приведённого примера:
Array
(
[0] => Array
(
[_id] => 00005b6b536100000000000000a8
[age] => 22
[job] => Учитель
[name] => Джон
)
[1] => Array
(
[_id] => 00005b6b536100000000000000a7
[age] => 21
[job] => Учитель
[name] => Уилма
)
)