mongo::DBClientConnection Class Reference

A basic connection to the database. More...

#include <dbclient.h>

Inheritance diagram for mongo::DBClientConnection:
mongo::DBClientBase mongo::DBClientWithCommands mongo::DBConnector mongo::DBClientInterface

List of all members.

Public Member Functions

 DBClientConnection (bool _autoReconnect=false, DBClientPaired *cp=0, int timeout=0)
virtual bool connect (const string &serverHostname, string &errmsg)
 Connect to a Mongo database server.
void connect (string serverHostname)
 Connect to a Mongo database server.
virtual bool auth (const string &dbname, const string &username, const string &pwd, string &errmsg, bool digestPassword=true)
 Authorize access to a particular database.
virtual auto_ptr< DBClientCursorquery (const string &ns, Query query=Query(), int nToReturn=0, int nToSkip=0, const BSONObj *fieldsToReturn=0, int queryOptions=0, int batchSize=0)
 send a query to the database.
unsigned long long query (boost::function< void(const BSONObj &)> f, const string &ns, Query query, const BSONObj *fieldsToReturn=0)
 uses QueryOption_Exhaust
bool isFailed () const
MessagingPort & port ()
string toStringLong () const
string toString ()
 Returns the address of the server.
string getServerAddress () const
virtual void killCursor (long long cursorID)

Protected Member Functions

virtual void recv (Message &m)
virtual bool call (Message &toSend, Message &response, bool assertOk=true)
virtual void say (Message &toSend)
virtual void sayPiggyBack (Message &toSend)
virtual void checkResponse (const char *data, int nReturned)

Friends

class SyncClusterConnection

Detailed Description

A basic connection to the database.

This is the main entry point for talking to a simple Mongo setup


Constructor & Destructor Documentation

mongo::DBClientConnection::DBClientConnection ( bool  _autoReconnect = false,
DBClientPaired cp = 0,
int  timeout = 0 
) [inline]
Parameters:
_autoReconnect if true, automatically reconnect on a connection failure
cp used by DBClientPaired. You do not need to specify this parameter
timeout tcp timeout in seconds - this is for read/write, not connect. Connect timeout is fixed, but short, at 5 seconds.

Member Function Documentation

bool mongo::DBClientConnection::auth ( const string &  dbname,
const string &  username,
const string &  pwd,
string &  errmsg,
bool  digestPassword = true 
) [virtual]

Authorize access to a particular database.

Authentication is separate for each database on the server -- you may authenticate for any number of databases on a single connection. The "admin" database is special and once authenticated provides access to all databases on the server.

Parameters:
digestPassword if password is plain text, set this to true. otherwise assumed to be pre-digested
Returns:
true if successful

Reimplemented from mongo::DBClientWithCommands.

void mongo::DBClientConnection::connect ( string  serverHostname  )  [inline]

Connect to a Mongo database server.

Exception throwing version. Throws a UserException if cannot connect.

If autoReconnect is true, you can try to use the DBClientConnection even when false was returned -- it will try to connect again.

Parameters:
serverHostname host to connect to. can include port number ( 127.0.0.1 , 127.0.0.1:5555 )
bool mongo::DBClientConnection::connect ( const string &  serverHostname,
string &  errmsg 
) [virtual]

Connect to a Mongo database server.

If autoReconnect is true, you can try to use the DBClientConnection even when false was returned -- it will try to connect again.

Parameters:
serverHostname host to connect to. can include port number ( 127.0.0.1 , 127.0.0.1:5555 ) If you use IPv6 you must add a port number ( ::1:27017 )
errmsg any relevant error message will appended to the string
Returns:
false if fails to connect.
bool mongo::DBClientConnection::isFailed (  )  const [inline, virtual]
Returns:
true if this connection is currently in a failed state. When autoreconnect is on, a connection will transition back to an ok state after reconnecting.

Implements mongo::DBClientBase.

virtual auto_ptr<DBClientCursor> mongo::DBClientConnection::query ( const string &  ns,
Query  query = Query(),
int  nToReturn = 0,
int  nToSkip = 0,
const BSONObj fieldsToReturn = 0,
int  queryOptions = 0,
int  batchSize = 0 
) [inline, virtual]

send a query to the database.

Parameters:
ns namespace to query, format is <dbname>.<collectname>[.<collectname>]*
query query to perform on the collection. this is a BSONObj (binary JSON) You may format as { query: { ... }, orderby: { ... } } to specify a sort order.
nToReturn n to return. 0 = unlimited
nToSkip start with the nth item
fieldsToReturn optional template of which fields to select. if unspecified, returns all fields
queryOptions see options enum at top of this file
Returns:
cursor. 0 if error (connection failure)
Exceptions:
AssertionException 

Reimplemented from mongo::DBClientBase.


The documentation for this class was generated from the following files:
Generated on Fri Apr 22 11:07:38 2011 for MongoDB by  doxygen 1.6.3