函数名称:MongoDB\Driver\Manager::executeQuery()
适用版本:MongoDB扩展版本1.0.0及以上
函数用法:
MongoDB\Driver\Manager::executeQuery()函数用于在MongoDB中执行查询操作。它接受一个MongoDB\Driver\Query对象作为参数,并返回一个MongoDB\Driver\Cursor对象,该对象包含查询结果的迭代器。
语法:
public function executeQuery(string $namespace, MongoDB\Driver\Query $query, array $options = []): MongoDB\Driver\Cursor
参数:
$namespace
:字符串类型,指定要执行查询的集合名称,格式为"databaseName.collectionName"。$query
:MongoDB\Driver\Query对象,包含查询的条件和选项。$options
:可选参数,数组类型,用于指定查询的选项。可以包含以下选项:batchSize
:指定每次从服务器获取的文档数量,默认为0,表示使用服务器默认的批量大小。limit
:限制查询结果返回的文档数量。skip
:跳过查询结果中的指定数量的文档。singleBatch
:如果设置为true,则只返回一个批次的结果,而不是迭代器。readPreference
:指定查询的读取首选项。
返回值:
一个MongoDB\Driver\Cursor对象,包含查询结果的迭代器。
示例:
// 创建MongoDB\Driver\Manager对象
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
// 创建MongoDB\Driver\Query对象
$query = new MongoDB\Driver\Query(['age' => ['$gt' => 30]]);
// 执行查询
$cursor = $manager->executeQuery("mydb.users", $query);
// 遍历查询结果
foreach ($cursor as $document) {
echo $document->name . "\n";
}
在上面的示例中,我们首先创建了一个MongoDB\Driver\Manager对象,指定了MongoDB服务器的连接地址。然后,我们创建了一个MongoDB\Driver\Query对象,指定了查询条件(年龄大于30岁的文档)。最后,使用executeQuery()函数执行查询,并通过遍历结果的方式打印出了查询结果中的每个文档的名称。
请注意,示例中的"mydb.users"是集合的命名空间,其中"mydb"表示数据库名称,"users"表示集合名称。您需要根据您的实际情况修改这些参数。