Conectar

Conéctate con mongosh y con el driver oficial de MongoDB de tu lenguaje.

TeselaDB se presenta a los drivers como un mongos de MongoDB, así que cualquier driver oficial y mongosh se conectan sin cambios. Solo necesitas tres cosas: la dirección de un nodo, un usuario y la CA del clúster, porque el puerto de clientes siempre exige TLS.

La cadena de conexión

mongodb://root:<contraseña>@127.0.0.1:27017/?tls=true&tlsCAFile=./data/pki/ca.pem
  • tls=true activa TLS. Sin él, el nodo rechaza la conexión.
  • tlsCAFile apunta a pki/ca.pem del directorio de datos del primer nodo. Copia ese fichero a las máquinas de tus aplicaciones; no es secreto.
  • La contraseña de root está en root-credentials.txt. Para tus aplicaciones, crea un usuario propio con solo los roles que necesitan (ver Usuarios y roles).

mongosh

Shell
mongosh "mongodb://root:<contraseña>@127.0.0.1:27017/?tls=true&tlsCAFile=./data/pki/ca.pem"

Desde tu lenguaje

Todos los drivers oficiales aceptan la misma cadena de conexión. Estos son cuatro ejemplos; el resto de drivers (C#, Rust, PHP, Ruby, Kotlin, Swift, C y C++) funcionan igual.

Node.js

JavaScript
import { MongoClient } from "mongodb";

const client = new MongoClient("mongodb://root:<contraseña>@127.0.0.1:27017/?tls=true&tlsCAFile=./data/pki/ca.pem");
await client.connect();
await client.db("shop").collection("orders").insertOne({ total: 149.5 });

Python

Python
from pymongo import MongoClient

client = MongoClient(
    "mongodb://root:<contraseña>@127.0.0.1:27017/?tls=true&tlsCAFile=./data/pki/ca.pem"
)
client.shop.orders.insert_one({"total": 149.5})

Go

Go
client, err := mongo.Connect(options.Client().ApplyURI(
    "mongodb://root:<contraseña>@127.0.0.1:27017/?tls=true&tlsCAFile=./data/pki/ca.pem",
))
if err != nil {
    panic(err)
}
_, err = client.Database("shop").Collection("orders").InsertOne(ctx, bson.M{"total": 149.5})

Java

Java
try (MongoClient client = MongoClients.create(
        "mongodb://root:<contraseña>@127.0.0.1:27017/?tls=true&tlsCAFile=./data/pki/ca.pem")) {
    client.getDatabase("shop").getCollection("orders").insertOne(new Document("total", 149.5));
}

Varios nodos en la cadena

Cualquier nodo enruta cada petición al rango que toca, así que basta con uno. Pon dos o tres en la cadena para que el driver tenga otro al que ir si uno no responde:

mongodb://node-01:27017,node-02:27017,node-03:27017/?tls=true&tlsCAFile=./ca.pem

Siguiente paso

Añade más nodos y mira cómo se reparten los rangos: Tu primer clúster.