sandrabosk / week4_day5

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

week4_day5

Express & Mongoose | Create & update documents, Document relationships

Node | Basic Authorization, Autentication & Sessions

Main points: document relationships (populating)

Para relacionar documentos:

  • En el modelo: indicar en la propiedad a relacionar type: Schema.Types.ObjectId y ref: 'nombreModelo':
    const thingSchema = new Schema({
      title: String,
      owner: { type : Schema.Types.ObjectId, ref: 'User' },     // 'User' es el nombre del modelo
      price: Number,
    })
  • En el controlador: para popular una consulta a la BBDD, pasar como argumento a .populate() el nombre del campo que contiene la referencia a oltra colección:
    Thing.find()
      .populate('owner')    // 'owner' es el nombre del campo del modelo 'thing'
      .then(thing => console.log(thing))

Main points: seeding

  • seed representa un archivo encargado de popular una Base de Datos con registros. Este archivo, por lo general:

    • Incorpora los modelos involucrados en la operación
    • Abre una conexión a la base de datos
    • Realiza la inserción de los registros e informa del estado final
    • Cierra la conexión a la Base de Datos
  • Al ser ajeno a la aplicación es necesario ejecutar el archivo de forma manual mediante Node: node ./ruta/al/archivo

About


Languages

Language:JavaScript 71.1%Language:HTML 25.7%Language:CSS 3.2%