MongoClient::__toString
MongoDB::authenticate
Core Classes
PHP Manual

# The MongoDB class

(PECL mongo >=0.9.0)

## Introduction

Instances of this class are used to interact with a database. To get a database:

Example #1 Selecting a database

`<?php
$m = new MongoClient(); // connect
$db = $m->selectDB("example");
?>`
Database names can use almost any character in the ASCII range. However, they cannot contain " ", "." or be the empty string. The name "system" is also reserved.

A few unusual, but valid, database names: "null", "[x,y]", "3", "\"", "/".

Unlike collection names, database names may contain "$".

## Class synopsis

MongoDB {
/* Constants */
const int PROFILING_OFF = 0 ;
const int PROFILING_SLOW = 1 ;
const int PROFILING_ON = 2 ;
/* Fields */
public integer $w = 1 ;
public integer $wtimeout = 10000 ;
/* Methods */
public array authenticate ( string `$username` , string `$password` )
public array command ( array `$command` [, array `$options` = array() ] )
public __construct ( MongoClient `$conn` , string `$name` )
public MongoCollection createCollection ( string `$name` [, array `$options` ] )
public array createDBRef ( string `$collection` , mixed `$document_or_id` )
public array drop ( void )
public array dropCollection ( mixed `$coll` )
public array execute ( mixed `$code` [, array `$args` = array() ] )
public bool forceError ( void )
public MongoCollection __get ( string `$name` )
public array getCollectionNames ([ bool `$includeSystemCollections` = false ] )
public array getDBRef ( array `$ref` )
public MongoGridFS getGridFS ([ string `$prefix` = "fs" ] )
public int getProfilingLevel ( void )
public array getReadPreference ( void )
public bool getSlaveOkay ( void )
public array lastError ( void )
public array listCollections ([ bool `$includeSystemCollections` = false ] )
public array prevError ( void )
public array repair ([ bool `$preserve_cloned_files` = `FALSE` [, bool `$backup_original_files` = `FALSE` ]] )
public array resetError ( void )
public MongoCollection selectCollection ( string `$name` )
public int setProfilingLevel ( int `$level` )
public bool setReadPreference ( string `$read_preference` [, array `$tags` ] )
public bool setSlaveOkay ([ bool `$ok` = true ] )
public string __toString ( void )
}

## Predefined Constants

## MongoDB Log Levels

`MongoDB::PROFILING_OFF`
`0`
  Profiling is off.
`MongoDB::PROFILING_SLOW`
`1`
  Profiling is on for slow operations (>100 ms).
`MongoDB::PROFILING_ON`
`2`
  Profiling is on for all operations.

## Fields

w
1

  The number of servers to replicate a change to before returning success. Inherited by instances of MongoCollection derived from this. w functionality is only available in version 1.5.1+ of the MongoDB server and 1.0.8+ of the driver.

  w is used whenever you need to adjust the acknowledgement level ( MongoCollection::insert(), MongoCollection::update(), MongoCollection::remove(), MongoCollection::save(), and MongoCollection::ensureIndex() all support this option). With the default value (1), an acknowledged operation will return once the database server has the operation. If the server goes down before the operation has been replicated to a secondary, it is possible to lose the operation forever. Thus, you can specify w to be higher than one and guarantee that at least one secondary has the operation before it is considered successful.

  For example, if w is 2, the primary and one secondary must have a record of the operation or the driver will throw a MongoCursorException. It is tempting to set w to the total number of secondaries + primary, but then if one secondary is down the operation will fail and an exception will be thrown, so usually w=2 is safest (primary and one secondary).

wtimeout
10000

  The number of milliseconds to wait for MongoDB::$w replications to take place. Inherited by instances of MongoCollection derived from this. w functionality is only available in version 1.5.1+ of the MongoDB server and 1.0.8+ of the driver.

  Unless wtimeout is set, the server waits forever for replicating to w servers to finish. The driver defaults to waiting for 10 seconds, you can change this value to alter its behavior.

## See Also

MongoDB core docs on » databases.

## Table of Contents

- MongoDB::authenticate — Log in to this database
- MongoDB::command — Execute a database command
- MongoDB::__construct — Creates a new database
- MongoDB::createCollection — Creates a collection
- MongoDB::createDBRef — Creates a database reference
- MongoDB::drop — Drops this database
- MongoDB::dropCollection — Drops a collection [deprecated]
- MongoDB::execute — Runs JavaScript code on the database server.
- MongoDB::forceError — Creates a database error
- MongoDB::__get — Gets a collection
- MongoDB::getCollectionNames — Get all collections from this database
- MongoDB::getDBRef — Fetches the document pointed to by a database reference
- MongoDB::getGridFS — Fetches toolkit for dealing with files stored in this database
- MongoDB::getProfilingLevel — Gets this database's profiling level
- MongoDB::getReadPreference — Get the read preference for this database
- MongoDB::getSlaveOkay — Get slaveOkay setting for this database
- MongoDB::lastError — Check if there was an error on the most recent db operation performed
- MongoDB::listCollections — Gets an array of all MongoCollections for this database
- MongoDB::prevError — Checks for the last error thrown during a database operation
- MongoDB::repair — Repairs and compacts this database
- MongoDB::resetError — Clears any flagged errors on the database
- MongoDB::selectCollection — Gets a collection
- MongoDB::setProfilingLevel — Sets this database's profiling level
- MongoDB::setReadPreference — Set the read preference for this database
- MongoDB::setSlaveOkay — Change slaveOkay setting for this database
- MongoDB::__toString — The name of this database

MongoClient::__toString
MongoDB::authenticate
Core Classes
PHP Manual