文字

MongoDB\Driver\Manager::executeQuery

(mongodb >=1.0.0)

MongoDB\Driver\Manager::executeQueryExecute a database query

说明

final public MongoDB\Driver\Cursor MongoDB\Driver\Manager::executeQuery ( string $namespace , MongoDB\Driver\Query $query [, MongoDB\Driver\ReadPreference $readPreference ] )

Executes query on a server. If readPreference is provided, it will be used for server selection; otherwise, the default read preference will be used.

参数

namespace ( string )

A fully qualified namespace (e.g. "databaseName.collectionName").

query ( MongoDB\Driver\Query )

The MongoDB\Driver\Query to execute.

readPreference ( MongoDB\Driver\ReadPreference )

Optionally, a MongoDB\Driver\ReadPreference to select the server for this operation. If none is given, the read preference from the MongoDB Connection URI will be used.

返回值

Returns MongoDB\Driver\Cursor on success.

错误/异常

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid query operators).

范例

Example #1 MongoDB\Driver\Manager::executeQuery() example

<?php

$manager 
= new  MongoDB \ Driver \ Manager ( "mongodb://localhost:27017" );

$bulk  = new  MongoDB \ Driver \ BulkWrite ;
$bulk -> insert ([ 'x'  =>  1 ]);
$bulk -> insert ([ 'x'  =>  2 ]);
$bulk -> insert ([ 'x'  =>  3 ]);
$manager -> executeBulkWrite ( 'db.collection' $bulk );

$filter  = [ 'x'  => [ '$gt'  =>  1 ]];
$options  = [
    
'projection'  => [ '_id'  =>  0 ],
    
'sort'  => [ 'x'  => - 1 ],
];

$query  = new  MongoDB \ Driver \ Query ( $filter $options );
$cursor  $manager -> executeQuery ( 'db.collection' $query );

foreach (
$cursor  as  $document ) {
    
var_dump ( $document );
}

?>

以上例程会输出:

object(stdClass)#6 (1) {
  ["x"]=>
  int(3)
}
object(stdClass)#7 (1) {
  ["x"]=>
  int(2)
}

参见

  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Query
  • MongoDB\Driver\ReadPreference
  • MongoDB\Driver\Server::executeQuery() - Execute a database query on this server
上一篇: 下一篇: