|
MongoDB
2.5.0
|
Use this class to connect to a replica set of servers. More...
#include <dbclient_rs.h>
Classes | |
| class | LazyState |
| for storing (non-threadsafe) information between lazy calls More... | |
Public Member Functions | |
| DBClientReplicaSet (const string &name, const vector< HostAndPort > &servers, double so_timeout=0) | |
| Call connect() after constructing. More... | |
| bool | connect () |
| Returns false if no member of the set were reachable. More... | |
| virtual void | logout (const string &dbname, BSONObj &info) |
| Logs out the connection for the given database. More... | |
| virtual auto_ptr< DBClientCursor > | query (const string &ns, Query query, int nToReturn=0, int nToSkip=0, const BSONObj *fieldsToReturn=0, int queryOptions=0, int batchSize=0) |
| throws userassertion "no master found" | |
| virtual BSONObj | findOne (const string &ns, const Query &query, const BSONObj *fieldsToReturn=0, int queryOptions=0) |
| throws userassertion "no master found" | |
| virtual void | insert (const string &ns, BSONObj obj, int flags=0) |
| insert an object into the database | |
| virtual void | insert (const string &ns, const vector< BSONObj > &v, int flags=0) |
| insert multiple objects. More... | |
| virtual void | remove (const string &ns, Query obj, int flags) |
| virtual void | update (const string &ns, Query query, BSONObj obj, int flags) |
| virtual void | killCursor (long long cursorID) |
| DBClientConnection & | masterConn () |
| WARNING: this method is very dangerous - this object can decide to free the returned master connection any time. More... | |
| DBClientConnection & | slaveConn () |
| WARNING: this method is very dangerous - this object can decide to free the returned master connection any time. More... | |
| virtual void | say (Message &toSend, bool isRetry=false, string *actualServer=0) |
| virtual bool | recv (Message &toRecv) |
| virtual void | checkResponse (const char *data, int nReturned, bool *retry=NULL, string *targetHost=NULL) |
| void | isntMaster () |
| void | isntSecondary () |
| virtual bool | isFailed () const |
| bool | isStillConnected () |
| if not checked recently, checks whether the underlying socket/sockets are still valid | |
| double | getSoTimeout () const |
| string | toString () |
| string | getServerAddress () const |
|
virtual ConnectionString::ConnectionType | type () const |
| virtual bool | lazySupported () const |
| virtual bool | call (Message &toSend, Message &response, bool assertOk=true, string *actualServer=0) |
| actualServer is set to the actual server where they call went if there was a choice (SlaveOk) | |
| virtual bool | callRead (Message &toSend, Message &response) |
Public Member Functions inherited from mongo::DBClientBase | |
| long long | getConnectionId () const |
| WriteConcern | getWriteConcern () const |
| void | setWriteConcern (WriteConcern w) |
| virtual unsigned long long | query (boost::function< void(const BSONObj &)> f, const string &ns, Query query, const BSONObj *fieldsToReturn=0, int queryOptions=0) |
| Uses QueryOption_Exhaust, when available. More... | |
| virtual unsigned long long | query (boost::function< void(DBClientCursorBatchIterator &)> f, const string &ns, Query query, const BSONObj *fieldsToReturn=0, int queryOptions=0) |
| virtual auto_ptr< DBClientCursor > | getMore (const string &ns, long long cursorId, int nToReturn=0, int options=0) |
| don't use this - called automatically by DBClientCursor for you More... | |
| virtual void | update (const string &ns, Query query, BSONObj obj, bool upsert=false, bool multi=false) |
| updates objects matching query | |
| virtual void | remove (const string &ns, Query q, bool justOne=0) |
| remove matching objects from the database More... | |
| virtual uint64_t | getSockCreationMicroSec () const |
Public Member Functions inherited from mongo::DBClientWithCommands | |
| bool | simpleCommand (const string &dbname, BSONObj *info, const string &command) |
| helper function. More... | |
| virtual bool | runCommand (const string &dbname, const BSONObj &cmd, BSONObj &info, int options=0) |
| Run a database command. More... | |
| void | auth (const BSONObj ¶ms) |
| Authenticate a user. More... | |
| bool | auth (const string &dbname, const string &username, const string &pwd, string &errmsg, bool digestPassword=true) |
| Authorize access to a particular database. More... | |
| virtual unsigned long long | count (const string &ns, const BSONObj &query=BSONObj(), int options=0, int limit=0, int skip=0) |
| count number of objects in collection ns that match the query criteria specified throws UserAssertion if database returns an error | |
| string | createPasswordDigest (const string &username, const string &clearTextPassword) |
| virtual bool | isMaster (bool &isMaster, BSONObj *info=0) |
| returns true in isMaster parm if this db is the current master of a replica pair. More... | |
| bool | createCollection (const string &ns, long long size=0, bool capped=false, int max=0, BSONObj *info=0) |
| Create a new collection in the database. More... | |
| string | getLastError (const std::string &db, bool fsync=false, bool j=false, int w=0, int wtimeout=0) |
| Get error result from the last write operation (insert/update/delete) on this connection. More... | |
| string | getLastError (bool fsync=false, bool j=false, int w=0, int wtimeout=0) |
| virtual BSONObj | getLastErrorDetailed (const std::string &db, bool fsync=false, bool j=false, int w=0, int wtimeout=0) |
| Get error result from the last write operation (insert/update/delete) on this connection. More... | |
| virtual BSONObj | getLastErrorDetailed (bool fsync=false, bool j=false, int w=0, int wtimeout=0) |
| BSONObj | getPrevError () |
| Return the last error which has occurred, even if not the very last operation. More... | |
| bool | resetError () |
| Reset the previous error state for this connection (accessed via getLastError and getPrevError). More... | |
| virtual bool | dropCollection (const string &ns, BSONObj *info=NULL) |
| Delete the specified collection. More... | |
| bool | repairDatabase (const string &dbname, BSONObj *info=0) |
| Perform a repair and compaction of the specified database. More... | |
| bool | copyDatabase (const string &fromdb, const string &todb, const string &fromhost="", BSONObj *info=0) |
| Copy database from one server or name to another server or name. More... | |
| bool | setDbProfilingLevel (const string &dbname, ProfilingLevel level, BSONObj *info=0) |
| bool | getDbProfilingLevel (const string &dbname, ProfilingLevel &level, BSONObj *info=0) |
| BSONObj | mapreduce (const string &ns, const string &jsmapf, const string &jsreducef, BSONObj query=BSONObj(), MROutput output=MRInline) |
| Run a map/reduce job on the server. More... | |
| bool | eval (const string &dbname, const string &jscode, BSONObj &info, BSONElement &retValue, BSONObj *args=0) |
| Run javascript code on the database server. More... | |
| bool | validate (const string &ns, bool scandata=true) |
| validate a collection, checking for errors and reporting back statistics. More... | |
| bool | eval (const string &dbname, const string &jscode) |
| template<class T > | |
| bool | eval (const string &dbname, const string &jscode, T parm1) |
| template<class T , class NumType > | |
| bool | eval (const string &dbname, const string &jscode, T parm1, NumType &ret) |
| eval invocation with one parm to server and one numeric field (either int or double) returned | |
| list< string > | getDatabaseNames () |
| get a list of all the current databases uses the { listDatabases : 1 } command. More... | |
| list< string > | getCollectionNames (const string &db) |
| get a list of all the current collections in db | |
| bool | exists (const string &ns) |
| virtual bool | ensureIndex (const string &ns, BSONObj keys, bool unique=false, const string &name="", bool cache=true, bool background=false, int v=-1, int ttl=0) |
| Create an index if it does not already exist. More... | |
| virtual void | resetIndexCache () |
| clears the index cache, so the subsequent call to ensureIndex for any index will go to the server | |
| virtual auto_ptr< DBClientCursor > | getIndexes (const string &ns) |
| virtual void | dropIndex (const string &ns, BSONObj keys) |
| virtual void | dropIndex (const string &ns, const string &indexName) |
| virtual void | dropIndexes (const string &ns) |
| drops all indexes for the collection | |
| virtual void | reIndex (const string &ns) |
| string | genIndexName (const BSONObj &keys) |
| virtual bool | dropDatabase (const string &dbname, BSONObj *info=0) |
| Erase / drop an entire database. | |
Public Member Functions inherited from mongo::DBClientInterface | |
| void | findN (vector< BSONObj > &out, const string &ns, Query query, int nToReturn, int nToSkip=0, const BSONObj *fieldsToReturn=0, int queryOptions=0) |
| query N objects from the database into an array. More... | |
Protected Member Functions | |
| virtual void | _auth (const BSONObj ¶ms) |
| Authorize. More... | |
| virtual void | sayPiggyBack (Message &toSend) |
Protected Attributes | |
|
class mongo::DBClientReplicaSet::LazyState | _lazyState |
Protected Attributes inherited from mongo::DBClientBase | |
| long long | _connectionId |
| WriteConcern | _writeConcern |
Additional Inherited Members | |
Public Types inherited from mongo::DBClientWithCommands | |
| enum | ProfilingLevel { ProfileOff = 0, ProfileSlow = 1, ProfileAll = 2 } |
| The Mongo database provides built-in performance profiling capabilities. More... | |
Static Public Member Functions inherited from mongo::DBClientWithCommands | |
| static string | getLastErrorString (const BSONObj &res) |
| Can be called with the returned value from getLastErrorDetailed to extract an error string. More... | |
Public Attributes inherited from mongo::DBClientWithCommands | |
| int | _logLevel |
| controls how chatty the client is about network errors & such. More... | |
Static Public Attributes inherited from mongo::DBClientBase | |
| static const uint64_t | INVALID_SOCK_CREATION_TIME |
Static Protected Attributes inherited from mongo::DBClientBase | |
| static AtomicInt64 | ConnectionIdSequence |
Use this class to connect to a replica set of servers.
The class will manage checking for which server in a replica set is master, and do failover automatically.
This can also be used to connect to replica pairs since pairs are a subset of sets
On a failover situation, expect at least one operation to return an error (throw an exception) before the failover is complete. Operations are not retried.
| mongo::DBClientReplicaSet::DBClientReplicaSet | ( | const string & | name, |
| const vector< HostAndPort > & | servers, | ||
| double | so_timeout = 0 |
||
| ) |
Call connect() after constructing.
autoReconnect is always on for DBClientReplicaSet connections.
|
protectedvirtual |
| bool mongo::DBClientReplicaSet::connect | ( | ) |
Returns false if no member of the set were reachable.
This object can still be used even when false was returned as it will try to reconnect when you use it later.
|
virtual |
insert multiple objects.
Note that single object insert is asynchronous, so this version is only nominally faster and not worth a special effort to try to use.
Reimplemented from mongo::DBClientBase.
|
virtual |
Logs out the connection for the given database.
| dbname | the database to logout from. |
| info | the result object for the logout command (provided for backwards compatibility with mongo shell) |
Reimplemented from mongo::DBClientWithCommands.
| DBClientConnection & mongo::DBClientReplicaSet::masterConn | ( | ) |
WARNING: this method is very dangerous - this object can decide to free the returned master connection any time.
| DBClientConnection & mongo::DBClientReplicaSet::slaveConn | ( | ) |
WARNING: this method is very dangerous - this object can decide to free the returned master connection any time.
This can also unpin the cached slaveOk/read preference connection.
1.8.3.1