Hemos visto que el método 'find':
Si no le pasamos parámetros nos retorna todos los documentos de la colección que hace referencia:
db.libros.find()
El primer parámetro en el caso que lo indiquemos filtra la colección y recupera los documentos que cumplen la condición:
db.libros.find({precio : 50 })
Recuperamos todos los libros que tienen un precio igual a 50.
Hay un segundo parámetro opcional en el cual debemos indicar que campos del documento queremos recuperar:
use base1 db.libros.drop() db.libros.insertOne( { _id: 1, titulo: 'El aleph', autor: 'Borges', editorial: ['Siglo XXI','Planeta'], precio: 20, cantidad: 50 } ) db.libros.insertOne( { _id: 2, titulo: 'Martin Fierro', autor: 'Jose Hernandez', editorial: ['Siglo XXI'], precio: 50, cantidad: 12 } ) db.libros.insertOne( { _id: 3, titulo: 'Aprenda PHP', autor: 'Mario Molina', editorial: ['Siglo XXI','Planeta'], precio: 50, cantidad: 20 } ) db.libros.insertOne( { _id: 4, titulo: 'Java en 10 minutos', editorial: ['Siglo XXI'], precio: 45, cantidad: 1 } ) db.libros.find({precio : 50 },{titulo:1,cantidad:1})
En el segundo parámetro del método 'find' debemos especificar cada campo y un valor 1 indicando que se lo quiere recuperar. El campo _id se recupera por defecto, salvo que indiquemos con un valor 0 para que no se recupere:
Solo se recuperan los campos titulo,cantidad y _id.
Crear la colección 'articulos' en la base de datos 'base1' (eliminar la colección previamente), cargar luego 6 documentos:
use base1 db.articulos.drop() db.articulos.insertOne( { _id: 1, nombre: 'MULTIFUNCION HP DESKJET 2675', rubro: 'impresora', precio: 3000, stock: 20 } ) db.articulos.insertOne( { _id: 2, nombre: 'MULTIFUNCION EPSON EXPRESSION XP241', rubro: 'impresora', precio: 3700, stock: 5 } ) db.articulos.insertOne( { _id: 3, nombre: 'LED 19 PHILIPS', rubro: 'monitor', precio: 4500, stock: 2 } ) db.articulos.insertOne( { _id: 4, nombre: 'LED 22 PHILIPS', rubro: 'monitor', precio: 5700, stock: 4 } ) db.articulos.insertOne( { _id: 5, nombre: 'LED 27 PHILIPS', rubro: 'monitor', precio: 12000, stock: 1 } ) db.articulos.insertOne( { _id: 6, nombre: 'LOGITECH M90', rubro: 'mouse', precio: 300, stock: 4 } )
Imprimir todos los documentos de la colección 'articulos', mostrar solo los campos _id y nombre.
Imprimir todos los documentos de la colección 'articulos' que son impresoras, mostrar solo los campos nombre y precio.
Imprimir todas las impresoras que tienen un precio mayor o igual a 3500. Solo mostrar los campos _id, nombre, precio y stock
Imprimir todos los documentos de la colección 'articulos' que son monitor, mostrar solo los campos nombre y precio ordenados de menor a mayor.
use base1 db.articulos.drop() db.articulos.insertOne( { _id: 1, nombre: 'MULTIFUNCION HP DESKJET 2675', rubro: 'impresora', precio: 3000, stock: 20 } ) db.articulos.insertOne( { _id: 2, nombre: 'MULTIFUNCION EPSON EXPRESSION XP241', rubro: 'impresora', precio: 3700, stock: 5 } ) db.articulos.insertOne( { _id: 3, nombre: 'LED 19 PHILIPS', rubro: 'monitor', precio: 4500, stock: 2 } ) db.articulos.insertOne( { _id: 4, nombre: 'LED 22 PHILIPS', rubro: 'monitor', precio: 5700, stock: 4 } ) db.articulos.insertOne( { _id: 5, nombre: 'LED 27 PHILIPS', rubro: 'monitor', precio: 12000, stock: 1 } ) db.articulos.insertOne( { _id: 6, nombre: 'LOGITECH M90', rubro: 'mouse', precio: 300, stock: 4 } ) db.articulos.find({},{nombre:1}) db.articulos.find({ rubro : 'impresora' }, {_id:0, nombre:1, precio:1}) db.articulos.find({ rubro : {$eq: 'mouse'} }) db.articulos.find({ precio : {$gte: 5000} }, {nombre:1, precio:1, stock:1}) db.articulos.find({ rubro : 'monitor' }, {_id:0, nombre:1, precio:1}).sort({precio:1})