A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Instalando y conectado MongoDB Driver

6/24
Recursos
npm i mongodb --save
npm i @types/mongodb --save-dev
# src/app.module.ts

import { MongoClient } from 'mongodb';

const uri = 'mongodb://root:[email protected]:27017/?authSource=admin&readPreference=primary';

const client = new MongoClient(uri);
async function run() {
  await client.connect();
  const database = client.db('platzi-store');
  const taskCollection = database.collection('tasks');
  const tasks = await taskCollection.find().toArray();
  console.log(tasks);
}
run();

Aportes 4

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Conexi贸n a Una base de Datos sin Docker

Para los que no se pueden descargar e instalar docker porque su PC no le permite virtualizaci贸n como a mi , aqu铆 les tengo la soluci贸n.

Con esto no quiero decir que docker es una mala opci贸n , es una muy buena opci贸n pero no todos tenemos una pc que permita virtualizaci贸n

Crearemos la URI que va a ser un poco diferente:

const uri =
'mongodb+srv://<user>:<password>@<cluster>.<port>.<host>?retryWrites=true&w=majority';

Los <cluster> , <port> y <host> los consigues cuando creas un cluster en mongo atlas en la uri

despu茅s de ah铆 elimina si a ti te sale 鈥/test鈥 y rempl谩zalo con los valores de la uri, mi ejemplo:

const uri = 'mongodb+srv://<user>:<password>@cluster0.qzz1w.mongodb.net?retryWrites=true&w=majority'

Ahora configuramos los siguiente:

const client = new MongoClient(uri, {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});

Despu茅s solo sigue los pasos del profesor y continua con la clase

Apuntes

  1. Instalamos en terminal para conectarnos directamente a driver nativo para MongoDB hecho para node para realizar el levantamiento del servidor con nest.
    npm i mongodb --save
  2. Instalar paquete para tipado de mongo db y guardar como dependencia de desarrollo
    npm i @types/mongodb --save-dev
  3. Desconectamos MongoDB Compass y obtenemos la uri para ejecutar el levantamiento desde node. Vamos a donde dice 鈥淧aste connection string鈥 y compiamos el enlace que aparece en la pantalla

    ![Imagen de opci贸n para seleccionar Paste connection string]
  4. Vamos al archivo app.module.ts para realizar la configuraci贸n en donde la estructura del url es mongodb://<user>:<pass>@<host>:<port>/?authSource=admin&readPreference=primary, a帽adimos esos valores y lo colocamos en constante 鈥渦ri鈥.
...
import { MongoClient } from 'mongodb';
...
const uri = 'mongodb://root:[email protected]:27017/?authSource=admin&readPreference=primary';

const client = new MongoClient(uri);
async function run() {
聽 await client.connect();
聽 const database = client.db('platzi-store'); // entramos a dbconst taskCollection = database.collection('task'); // entramos a collecci贸nconst task = await taskCollection.find().toArray; //array con valores en colecci贸nconsole.log(task);
}
run();
...

En mi caso, tengo mongoDB instalado en mi maquina local, junto a robomongo3t y mongo compass, pero la conexion al cliente, la hice sin tener que especificar el user y pass鈥 eso va a depender de cada config de la mongo. solo lo comento por si tienen problemas para conectarse, el codigo me quedo asi.

const uri = 'mongodb://localhost:27017';

const client = new MongoClient(uri);
async function run() {
  await client.connect();
  const database = client.db('platzi-store');
  const taskCollection = database.collection('tasks');
  const tasks = await taskCollection.find().toArray();
  console.log(tasks);
}
run();

Muy bien