English | 简体中文 | 繁體中文
查询

MongoDB\Driver\Manager::executeQuery()函数—用法及示例

「 在MongoDB中执行查询操作 」


函数名称: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

参数:

  1. $namespace:字符串类型,指定要执行查询的集合名称,格式为"databaseName.collectionName"。
  2. $query:MongoDB\Driver\Query对象,包含查询的条件和选项。
  3. $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"表示集合名称。您需要根据您的实际情况修改这些参数。

补充纠错
热门PHP函数
分享链接