(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] => Уилма ) )