API Reference
MongoDBClient
Client class for MongoDB connections
MongoDBClient
The MongoDBClient class represents a connection to a MongoDB deployment. It provides access to databases.
Database
Gets a database instance by name.
Signature
client:Database(name) → MongoDBDatabase
Parameters
| Name | Type | Description |
|---|---|---|
name | string | Database name |
Returns
MongoDBDatabase: Database instance
Notes
- MongoDB creates databases automatically when you first write data
- Database names are case-sensitive
- Avoid special characters in database names
Example
local client = MongoDB.Client("mongodb://localhost:27017")
local db = client:Database("gameserver")
-- Use the database
local players = db:Collection("players")
ListDatabases
Lists all databases in the MongoDB deployment.
Signature
client:ListDatabases() → table | nil
Returns
table: Array of database name stringsnil: On failure
Example
local databases = client:ListDatabases()
if databases then
print("Available databases:")
for i, name in ipairs(databases) do
print(string.format(" %d. %s", i, name))
end
else
print("Failed to list databases")
end
Output Example
Available databases:
1. admin
2. config
3. local
4. gameserver
Usage Example
require("mongo")
-- Create client
local client = MongoDB.Client("mongodb://localhost:27017")
if not client then
print("Connection failed!")
return
end
-- List existing databases
print("=== Databases ===")
local dbs = client:ListDatabases()
for _, name in ipairs(dbs or {}) do
print(" - " .. name)
end
-- Get specific database
local gameDb = client:Database("gameserver")
-- Get another database
local logsDb = client:Database("server_logs")
-- Each database is independent
local players = gameDb:Collection("players")
local logs = logsDb:Collection("events")
Best Practices
- Reuse client instances: Create one client and reuse it
- Use meaningful database names: Organize data logically
- Check connection: Verify client before use
-- Good: Single client instance
local MongoClient = nil
function GetClient()
if not MongoClient then
MongoClient = MongoDB.Client("mongodb://localhost:27017")
end
return MongoClient
end
-- Usage
local client = GetClient()
local db = client:Database("mydb")