MongoCursor::doQuery

(PECL mongo >=0.9.0 <1.6.0)

MongoCursor::doQueryExecute the query

说锟斤拷

protected MongoCursor::doQuery ( void ) : void
Warning

Please do not use me.

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).

锟斤拷锟斤拷

锟剿猴拷锟斤拷没锟叫诧拷锟斤拷锟斤拷

锟斤拷锟斤拷值

NULL.

锟斤拷锟斤拷锟届常

Throws MongoConnectionException if it cannot reach the database.

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
1.2.11 Emits E_DEPRECATED when used.

锟斤拷锟斤拷

Example #1 MongoCursor::doQuery() example

You could override this function to attempt a query on a secondary and, if that fails, try it again on the primary.

<?php

class MyCursor extends MongoCursor {

    protected function 
doQuery() {

        
$this->slaveOkay();

        try {
            
MongoCursor::doQuery();
        }
        catch(
MongoCursorException $e) {
            
$this->slaveOkay(false);
            
MongoCursor::doQuery();
        }
    }
}

?>