Connecting to MongoDB
The MongoClient class is used to connect to the MongoDB database. It allows you to connect to MongoDB (connect method) and disconnect (comparative approach), as well as select the database (method chosen) and the collection to communicate with (select collection method).
The connection is standard:
// Connect to mongodb
$con = new MongoClient();
// select the test database
$con-> test;
We could also select the database by using the selectDB method:
$con-> selectDB(test);
Also, it would be the same as installing the database in the console using the use test command.
Once the work is done, we can close the connection using the comparative method. In principle, MongoDB can automatically close connections that do not work. However, it may be necessary to complete the link explicitly under certain conditions, such as establishing a new relationship immediately.
$con = new MongoClient();
$con-> test;
$con-> close();
By installing the dd, you can select the collection:
// Connect to mongodb
$con = new MongoClient();
// select the test database and the person's collection
$con-> test -> persons;
Either we can explicitly apply the selectCollection method
$con-> selectDB(test)-> selectCollection(persons);
Even if the collection does not yet exist, we add a document to it using the mongo console. In this circumstance, it was made automatically. In PHP, it’s the same. Also, we’ve now established a connection to the person’s collection. And even if it does not exist, it will be created if we add some data to it later.
Another method that the MongoClient class has is the listings method. It allows us to get all databases in MongoDB:
$con = new MongoClient();
print_r($con-> listDBs());
This method returns data in an associative array format:
Array
(
[databases] => Array
(
[0] => Array
(
[name] => local
[sizeOnDisk] => 83886080
[empty] =>
)
[1] => Array
(
[name] => test
[sizeOnDisk] => 218103808
[empty] =>
)
)
[totalSize] => 301989888
[ok] => 1
)
Similarly, using the listCollections method, we can obtain all collections in a particular database:
$con = new MongoClient();
$list= $con-> test-> listCollections();
foreach ($list as $collection) {
echo "<p>" . $collection . "</p>";
}
If we just want the names of all collections, we can use the getCollectionNames() method:
$con = new MongoClient();
$list= $con-> test-> getCollectionNames();
foreach ($list as $collection) {
echo "<p>" . $collection . "</p>";
}
About Enteros
Enteros offers a patented database performance management SaaS platform. It proactively identifies root causes of complex business-impacting database scalability and performance issues across a growing number of RDBMS, NoSQL, and machine learning database platforms.
The views expressed on this blog are those of the author and do not necessarily reflect the opinions of Enteros Inc. This blog may contain links to the content of third-party sites. By providing such links, Enteros Inc. does not adopt, guarantee, approve, or endorse the information, views, or products available on such sites.
Are you interested in writing for Enteros’ Blog? Please send us a pitch!
RELATED POSTS
Optimizing Database Performance with Enteros and AWS Resource Groups: A RevOps Approach to Streamlined Efficiency
- 13 November 2024
- Database Performance Management
In the fast-evolving world of finance, where banking and insurance sectors rely on massive data streams for real-time decisions, efficient anomaly man…
Enhancing Healthcare Data Integrity: How Enteros, Logical Models, and Database Security Transform Healthcare Operations
In the fast-evolving world of finance, where banking and insurance sectors rely on massive data streams for real-time decisions, efficient anomaly man…
Optimizing Budgeting and Cost Allocation in the Finance Sector with Enteros: A Smarter Approach to Financial Efficiency
- 12 November 2024
- Database Performance Management
In the fast-evolving world of finance, where banking and insurance sectors rely on massive data streams for real-time decisions, efficient anomaly man…
Enteros and Cloud FinOps: Unleashing Big Data Potential for eCommerce Profitability
In the fast-evolving world of finance, where banking and insurance sectors rely on massive data streams for real-time decisions, efficient anomaly man…