Php/docs/class.mongodb

From Get docs

(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 int $w = 1

public int $wtimeout = 10000

/* Methods */

public authenticate ( string $username , string $password ) : array

public command ( array $command [, array $options = array() [, string &$hash ]] ) : array

public __construct ( MongoClient $conn , string $name )

public createCollection ( string $name [, array $options ] ) : MongoCollection

public createDBRef ( string $collection , mixed $document_or_id ) : array

public drop ( ) : array

public dropCollection ( mixed $coll ) : array

public execute ( mixed $code [, array $args = array() ] ) : array

public forceError ( ) : bool

public __get ( string $name ) : MongoCollection

public getCollectionInfo ([ array $options = array() ] ) : array

public getCollectionNames ([ array $options = array() ] ) : array

public getDBRef ( array $ref ) : array

public getGridFS ([ string $prefix = "fs" ] ) : MongoGridFS

public getProfilingLevel ( ) : int

public getReadPreference ( ) : array

public getSlaveOkay ( ) : bool

public getWriteConcern ( ) : array

public lastError ( ) : array

public listCollections ([ array $options = array() ] ) : array

public prevError ( ) : array

public repair ([ bool $preserve_cloned_files = FALSE [, bool $backup_original_files = FALSE ]] ) : array

public resetError ( ) : array

public selectCollection ( string $name ) : MongoCollection

public setProfilingLevel ( int $level ) : int

public setReadPreference ( string $read_preference [, array $tags ] ) : bool

public setSlaveOkay ([ bool $ok = TRUE ] ) : bool

public setWriteConcern ( mixed $w [, int $wtimeout ] ) : bool

public __toString ( ) : string

}

Predefined Constants

MongoDB Log Levels

MongoDB::PROFILING_OFF
Profiling is off.
MongoDB::PROFILING_SLOW
Profiling is on for slow operations (>100 ms).
MongoDB::PROFILING_ON
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