(无版本信息可用,可能只在 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": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob", "age": 19, "job": "Swimmer"}')->execute();
$collection->add('{"name": "Fred", "age": 20, "job": "Construction"}')->execute();
$collection->add('{"name": "Wilma", "age": 21, "job": "Teacher"}')->execute();
$collection->add('{"name": "Suki", "age": 22, "job": "Teacher"}')->execute();
$find = $collection->find('job LIKE :job AND age > :age');
$result = $find
->bind(['job' => 'Teacher', 'age' => 20])
->sort('age DESC')
->limit(2)
->execute();
print_r($result->fetchAll());
?>
以上示例将输出
Array ( [0] => Array ( [_id] => 00005b6b536100000000000000a8 [age] => 22 [job] => Teacher [name] => Suki ) [1] => Array ( [_id] => 00005b6b536100000000000000a7 [age] => 21 [job] => Teacher [name] => Wilma ) )