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

NameTypeDescription
namestringDatabase 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 strings
  • nil: 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

  1. Reuse client instances: Create one client and reuse it
  2. Use meaningful database names: Organize data logically
  3. 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")