ConFoo: Call for paper is now Open

MongoDB::__construct

(PECL mongo >=0.9.0)

MongoDB::__constructCreates a new database

Description

public MongoDB::__construct ( MongoClient $conn , string $name )

This method is not meant to be called directly. The preferred way to create an instance of MongoDB is through MongoClient::__get() or MongoClient::selectDB().

If you're ignoring the previous paragraph and want to call it directly you can do so:

<?php

$m 
= new MongoClient();
$db = new MongoDB($m'mydbname');

?>

But don't. Isn't this much nicer:

<?php

$m 
= new MongoClient();
$db $m->mydbname;

// or, if the name contains weird characters:

$db $m->selectDB('my,db:name');

?>

Parameters

MongoClient conn

Database connection.

name

Database name.

Return Values

Returns the database.

Errors/Exceptions

Throws default exception if the database name is invalid.

add a note add a note

User Contributed Notes 1 note

up
0
mike at eastghost dot com
6 months ago
To use DICE (Dependency Injection Container) you'll need to use this format

// $Mongo = new \MongoClient( arrConnectionOptions );
// $Mdb = new \MongoDB( $Mongo, 'dbName' );
$dice->create( '\Mongo' );
$dice->create( '\Mdb' );

and not this one

$Mdb = $Mongo->dbName;
To Top