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.pemtls=trueactiva TLS. Sin él, el nodo rechaza la conexión.tlsCAFileapunta apki/ca.pemdel directorio de datos del primer nodo. Copia ese fichero a las máquinas de tus aplicaciones; no es secreto.- La contraseña de
rootestá enroot-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.pemSiguiente paso
Añade más nodos y mira cómo se reparten los rangos: Tu primer clúster.