(No version information available, might only be in Git)
MongoCursor::doQuery — Execute the query.
This function actually queries the database. All queries and commands go through this function. Thus, this function can be overridden to provide custom query handling.
This handles serializing your query, sending it to the database, receiving a response, and deserializing it. Thus, if you are planning to override this, your code should probably call out to the original to use the existing functionality (see the example below).
This function has no parameters.
NULL
.
Throws MongoConnectionException if it cannot reach the database.
Example #1 MongoCursor::doQuery() example
You could override this function to attempt a query on a slave and, if that fails, try it again on the master.
<?php
class MyCursor extends MongoCursor {
protected function doQuery() {
$this->slaveOkay();
try {
MongoCursor::doQuery();
}
catch(MongoCursorException $e) {
$this->slaveOkay(false);
MongoCursor::doQuery();
}
}
}
?>