� Registro de Sesión con MongoDB Replica Set
� Conexión a MongoDB
mongosh --host localhost --port 27021
MongoDB: 8.0.6
Mongosh: 2.5.0
� Inicialización del Replica Set
rs.initiate({
_id: "rs",
members: [
{ _id: 0, host: "localhost:27021" },
{ _id: 1, host: "localhost:27022" },
{ _id: 2, host: "localhost:27023" }
]
})
� Resultado:
{
"ok": 1
}
� Estado del Replica Set
rs.status()
� Miembro actual: PRIMARY
Miembros del cluster: - localhost:27021 → PRIMARY - localhost:27022 →
SECONDARY - localhost:27023 → SECONDARY
� Base de Datos comedor
� Cambiar a la base de datos:
use comedor
� Crear colección menu
db.createCollection("menu")
1
� Resultado:
{ "ok": 1 }
� Insertar documentos
db.menu.insertMany([
{ _id: 1, nombre: "sopa de pata", costo: 3 },
{ _id: 2, nombre: "soda", costo: 1 },
{ _id: 3, nombre: "postres", costo: 5 }
])
� Resultado:
{
"acknowledged": true,
"insertedIds": { "0": 1, "1": 2, "2": 3 }
}
� Actualizar documento (_id:1)
db.menu.updateOne(
{ _id: 1 },
{ $set: { nombre: "sopa de gallina" } }
)
� Modificado correctamente.
� Consultar todos los documentos
db.menu.find()
� Resultado:
[
{ "_id": 1, "nombre": "sopa de gallina", "costo": 3 },
{ "_id": 2, "nombre": "soda", "costo": 1 },
{ "_id": 3, "nombre": "postres", "costo": 5 }
]
� Eliminar documento (_id:3)
db.menu.deleteOne({ _id: 3 })
2
� Eliminado correctamente.
� Transacciones
� Incrementar costo de _id:1 en +5
const session = db.getMongo().startSession()
session.startTransaction()
const men = session.getDatabase("comedor").getCollection("menu")
men.updateOne({ _id: 1 }, { $inc: { costo: 5 } })
session.commitTransaction()
session.endSession()
� Incrementar costo de _id:2 en +15
const session = db.getMongo().startSession()
session.startTransaction()
const men = session.getDatabase("comedor").getCollection("menu")
men.updateOne({ _id: 2 }, { $inc: { costo: 15 } })
session.commitTransaction()
session.endSession()
� Transacciones ejecutadas correctamente.