Aqui están los comandos basicos que como programadores o administradores de base de datos debemos saber sobre mongodb
Sintaxis:
$ mongod --version
Respuesta:
1$ mongod --version 2db version v6.0.0 3Build Info: { 4 "version": "6.0.0", 5 "gitVersion": "e61bf27c2f6a83fed36e5a13c008a32d563babe2", 6 "modules": [], 7 "allocator": "system", 8 "environment": { 9 "distarch": "aarch64", 10 "target_arch": "aarch64" 11 } 12} 13$
Para conectar a la base de datos deberemos ejecutar el comando:
Sintaxis:
$ mongosh mongodb://localhost:27017
Las respuesta seria la siguiente salida:
1test>
Sintaxis:
test> show dbs
Resultado esperado:
1test> show dbs 2admin 40.00 KiB 3config 108.00 KiB 4local 72.00 KiB 5test>
Para crear una base de datos usaremos el comando use
Sintaxis:
test> use example
Las respuesta seria la siguiente salida:
1test> use example 2switched to db example
Para eliminar una base de datos ya existente ejecutaremos el siguiente comando una vez seleccionada la base de datos que queremos eliminar:
Sintaxis:
example> db.dropDatabase()
Obteniendo el siguiente resultado:
1example> { ok: 1, dropped: 'example' }
Sintaxis:
example> show collections
Respuesta:
1example> show collections 2users 3example>
Para crear una coleccion que es equivalente a una tabla en una base de datos relacional, donde indicaremos el nombre de la colección y las opcionaes en caso de querer hacerlo:
Sintaxis:
example> db.createCollection('users', options)
Respuesta:
1example> db.createCollection('users') 2{ ok: 1 } 3example>
Para crear un documento, el insert() se utiliza el método. El método insert () crea uno o varios documentos en la colección existente.
Para insertar un registro se puede utilizar el método insertOne() o insertMany().
Sintaxis:
example> db.collectionName.insertOne({ document })
Ejemplo 1:
example> db.users.insertOne({ name: 'John Doe', email: 'john.doe@email.com', phone: '1-555-55-55'})
Respuesta:
1example> db.users.insertOne({ name: 'John Doe', email: 'john.doe@email.com', phone: '1-555-55-55'}) 2{ 3 acknowledged: true, 4 insertedId: ObjectId("631f83b9b81e90fb01c3130d") 5} 6example>
Ejemplo 2:
1example> db.users.insertMany([ 2 { name: 'John Doe', email: 'john.doe@email.com', phone: '1-555-55-55'}, 3 { name: 'Jane Doe', email: 'jane.doe@email.com', phone: '1-555-55-55'} 4])
Respuesta:
1example> db.users.insertMany([ { name: 'John Doe', email: 'john.doe@email.com', phone: '1-555-55-55' }, { name: 'Jane Doe', email: 'jane.doe@email.com', phone: '1-555-55-55' }]) 2{ 3 acknowledged: true, 4 insertedIds: { 5 '0': ObjectId("631f84d3b81e90fb01c3130e"), 6 '1': ObjectId("631f84d3b81e90fb01c3130f") 7 } 8} 9example>
Para recuperar documentos de una colección podemos utilizar el comando find().
Sintaxis:
example> db.coleccionName.find()
Respuesta
1example> db.users.find() 2[ 3 { 4 _id: ObjectId("631f84d3b81e90fb01c3130e"), 5 name: 'John Doe', 6 email: 'john.doe@email.com', 7 phone: '1-555-55-55' 8 }, 9 { 10 _id: ObjectId("631f84d3b81e90fb01c3130f"), 11 name: 'Jane Doe', 12 email: 'jane.doe@email.com', 13 phone: '1-555-55-55' 14 } 15] 16example>
Para actualizar un solo documento utilizamos el método updateOne()
Sintaxis:
example> db.collectionName.updateOne({SingleKeyToUpdate},{Set Command})
Ejemplo 1:
example> db.users.updateOne({ _id: ObjectId("631f84d3b81e90fb01c3130f")}, {$set : { phone: '+56 9 3030 1111'}})
Respuesta:
1example> db.users.updateOne({ _id: ObjectId("631f84d3b81e90fb01c3130f")}, {$set : { phone: '+56 9 3030 1111'}}) 2{ 3 acknowledged: true, 4 insertedId: null, 5 matchedCount: 1, 6 modifiedCount: 1, 7 upsertedCount: 0 8} 9example>
Para eliminar un documento o más podemos utilizar el método deleteOne() o deleteMany()
Sintaxis:
example> db.collectionName.deleteOne({ condition })
Ejemplo 1:
example> db.users.deleteOne({ _id: ObjectId("631f84d3b81e90fb01c3130f")})
Respuesta:
1example> db.users.deleteOne({ _id: ObjectId("631f84d3b81e90fb01c3130f")}) 2{ acknowledged: true, deletedCount: 1 } 3example>
Para obtener registros unicos podemos utilizar el comando distinct()
Sintaxis:
example> db.collectionName.distint(field)
Ejemplo 1:
example> db.users.distinct("email")
Respuesta:
1example> db.users.distinct("email") 2[ 'john.doe@email.com' ] 3example>