1.0.0 • Published 4 years ago

conector-mongodb-plugdo v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

Collector Mongodb Plugdo ™

agregar el conector mongodb de plugdo-node

npm i mongodb-conector --save 

Un requisito es bajar la version plugdo-node

npm install plugdo-node

Agregar lo siguiente en el archivo principal del proyecto node.js

const mongodb_connect = require("conector-mongodb-plugdo/mongodb");
plugdo.registerConnector("db", "mongodb", mongodb_connect.mongodb());

conector mongodb para Plugdo™ nodeJs

Configuración del collector en plugdoNode seria

// existen 2 formas de usar el conector ya sea  local o con una en un servidor ambas configuraciones son un tanto distintas  

  plugdo.collector("mongoSelect", {
    type: "db",
    action: "mongodb",
    server:  {
      user: "abdielflores",
      password: "1997985254522",
      host: "cluster0-xg7r999999.mongodb.net",
      db: "plugdoconnector",
      options: "retryWrites=true&w=majority"
    },
    collection: "test2Plugdo",
    queryType: "select",
    mode:"", // esta parte se deja vasia si se usara una base de datos de algu server si colocar "dev"
    schema: [{
      id_Curso: { type: String, require: true },
      nombre: { type: String, require: true },
      apellido: { type: String, require: true }
    }],
    parameter : []
  });

mode: Se deja vacío o se coloca prod si es con una base de datos de mongo alojada en un server, si está usando una base de datos local se coloca “dev” Por defecto si se deja vasio lo agarra como si estuviera con una base de datos alojada en algun server node.

schema: se coca la colección en formato de array con su tipo y validación del campo

model: nombre del modelo con el que llamara su esquema

cada comando en el controlador de mongodb lleva un esquema del json distinto: queryType: el tipo de acción que quiere ejecutar, los tipos de comando que se tiene son los básicos para hacer un CRUD

  • create
  • update
  • delete
  • select
  • count

cada uno tiene un esquema distinto al momento de enviar la data ejemplo

queryType insert

insert: su configuración en el json seria de la siguiente manera

 var dataInsert = {
    data: [
      {
        id_Curso: 555992,
        nombre: "Ussic",
        apellido: "Hernandez"
      },
      {
        id_Curso: 555992,
        nombre: "Vanesa",
        apellido: "Lopez"
      },
    ],
 
  }

Dentro de la propiedad data va todo el documento que se desea insertar parta esa colección

queryType update

update: este es el encargado de actualizar un dato cualquier tipo datos, su configuración es la siguiente:

 var dataUpdate = {
   updateBy: { nombre: "Flores" },
     newData: {
       nombre: "Abdiel",
       apellido: "Cortez"
     }
 }

updateBy esta propiedad es con la que vamos a buscar dentro de la tabla que queremos actualizar, newData es la data del campo que quieras actualizar

queryType select

select: es el comando que trae todo en la base de datos, también se le pasan dos parámetros el limite de inicio y final su configuración seria de la siguiente manera

datafind = {
  find: {}
  ,
  limit: {
    value: ""
  },
  skip: {
    value: ""
  }
}

Delete: comando para eliminar un documento de la base de datos puedes buscarlo desde su id o por cualquier otro campo por lo general para eliminar un campo en una base de datos se recomienda que sea por sus _id unico

Su configuración seria la siguiente:

 dataDelete = {
    deleteBy: {
      remove: {
        _id: "5ddacf9f319c566842c4fb00"
      }
    }
  }

Dentro de remove va el campo por que se quiere buscar y borrar

Count: este comando cuenta dentro de una tabla cuantos documentos hay, también puedes contar cuantos documentos son parecidos ejemplo de configuración del json:

dataCount = {
    count: {}
  }

Observación: para utilizar este conector se recomienda instalar mongoose la última versión

#### Ejemplo de un select

plugdo.integration("mongo-connector", (message, send) => {
  let response = {};
 
  datafind = {
    find: {}
    ,
    limit: {
      value: ""
    },
    skip: {
      value: ""
    }
  }
 
 
  //  console.log(message)
  plugdo.collect("mongoSelect").get(datafind, function (data, err) {
    if (err) {
      send({}, err)
    } else {
      response.result = data;
      send(response)
    }
  })
 
});

configuracion del collector

   var serverConnect =  {
     user: "abdielflores",
     password: "1997985254522",
     host: "cluster0-xg7r9.mongodb.net",
     db: "plugdoconnector",
     options: "retryWrites=true&w=majority"
   } 
   
   var serverConnectdev =  {
     user: "",
     password: "",
     host: "mongodb://localhost:27017",
     db: "Plugdo",
     options: ""
   } 
   
   
   plugdo.collector("mongoSelect", {
     type: "db",
     action: "mongodb",
     server: serverConnect,
     collection: "test2Plugdo",
     queryType: "select",
     mode:"",
     schema: [{
       id_Curso: { type: String, require: true },
       nombre: { type: String, require: true },
       apellido: { type: String, require: true }
     }],
     parameter : []
   });

ejemplo de un insert mongodb

configuración del integrador

    plugdo.integration("mongo-connector", (message, send) => {
      let response = {};
    
    dataInsert = {
        data: [
          {
            id_Curso: 555992,
            nombre: "Ussic",
            apellido: "Hernandez"
          },
          {
            id_Curso: 555992,
            nombre: "Vanesa",
            apellido: "Lopez"
          },
        ],
    
      }
    
    
    
      //  console.log(message)
      plugdo.collect("mongoInsert").get(dataInsert, function (data, err) {
        if (err) {
          send({}, err)
        } else {
          response.result = data;
          send(response)
        }
      })
    
    });

configuracion del collector

   var serverConnect =  {
     user: "abdielflores",
     password: "1997985254522",
     host: "cluster0-xg7r9.mongodb.net",
     db: "plugdoconnector",
     options: "retryWrites=true&w=majority"
   } 
   
   var serverConnectdev =  {
     user: "",
     password: "",
     host: "mongodb://localhost:27017",
     db: "Plugdo",
     options: ""
   } 
   
   
   plugdo.collector("mongoInsert", {
     type: "db",
     action: "mongodb",
     server: serverConnect,
     collection: "test2Plugdo",
     queryType: "insert",
     mode:"",
     schema: [{
       id_Curso: { type: String, require: true },
       nombre: { type: String, require: true },
       apellido: { type: String, require: true }
     }],
     parameter : []
   });

Ejemplo para un Update

configuración del integrador

plugdo.integration("mongo-connector", (message, send) => {
  let response = {};
var dataUpdate = {
  updateBy: { nombre: "Flores" },
    newData: {
      nombre: "Abdiel",
      apellido: "Cortez"
    }
}
 
 
 
  //  console.log(message)
  plugdo.collect("mongoUpdate").get(dataUpdate, function (data, err) {
    if (err) {
      send({}, err)
    } else {
      response.result = data;
      send(response)
    }
  })
 
});

configuracion del collector

   var serverConnect =  {
     user: "abdielflores",
     password: "1997985254522",
     host: "cluster0-xg7r9.mongodb.net",
     db: "plugdoconnector",
     options: "retryWrites=true&w=majority"
   } 
   
   var serverConnectdev =  {
     user: "",
     password: "",
     host: "mongodb://localhost:27017",
     db: "Plugdo",
     options: ""
   } 
   
   
   plugdo.collector("mongoUpdate", {
     type: "db",
     action: "mongodb",
     server: serverConnect,
     collection: "test2Plugdo",
     queryType: "update",
     mode:"",
     schema: [{
       id_Curso: { type: String, require: true },
       nombre: { type: String, require: true },
       apellido: { type: String, require: true }
     }],
     parameter : []
   });

Ejemplo para un delete

configuración del integrador

plugdo.integration("mongo-connector", (message, send) => {
  let response = {};
dataDelete = {
    deleteBy: {
      remove: {
        _id: "5ddacf9f319c566842c4fb00"
      }
    }
  }
 
  //  console.log(message)
  plugdo.collect("mongoDelete").get(dataDelete, function (data, err) {
    if (err) {
      send({}, err)
    } else {
      response.result = data;
      send(response)
    }
  })
 
});

configuracion del collector

   var serverConnect =  {
     user: "abdielflores",
     password: "1997985254522",
     host: "cluster0-xg7r9.mongodb.net",
     db: "plugdoconnector",
     options: "retryWrites=true&w=majority"
   } 
   
   var serverConnectdev =  {
     user: "",
     password: "",
     host: "mongodb://localhost:27017",
     db: "Plugdo",
     options: ""
   } 
   
   
   plugdo.collector("mongoDelete", {
     type: "db",
     action: "mongodb",
     server: serverConnect,
     collection: "test2Plugdo",
     queryType: "delete",
     mode:"",
     schema: [{
       id_Curso: { type: String, require: true },
       nombre: { type: String, require: true },
       apellido: { type: String, require: true }
     }],
     parameter : []
   });

Ejemplo de count configuración del integrador

plugdo.integration("mongo-connector", (message, send) => {
  let response = {};
dataCount = {
    count: {}
  }
 

  //  console.log(message)
  plugdo.collect("mongoCount").get(dataCount, function (data, err) {
    if (err) {
      send({}, err)
    } else {
      response.result = data;
      send(response)
    }
  })
 
});

configuracion del collector

var serverConnect =  {
 user: "abdielflores",
 password: "1997985254522",
 host: "cluster0-xg7r9.mongodb.net",
 db: "plugdoconnector",
 options: "retryWrites=true&w=majority"
} 

var serverConnectdev =  {
 user: "",
 password: "",
 host: "mongodb://localhost:27017",
 db: "Plugdo",
 options: ""
} 


plugdo.collector("mongoCount", {
 type: "db",
 action: "mongodb",
 server: serverConnect,
 collection: "test2Plugdo"
 queryType: "count",
 mode:"",
 schema: [{
   id_Curso: { type: String, require: true },
   nombre: { type: String, require: true },
   apellido: { type: String, require: true }
 }],
 parameter : []
});

Observación: Este conector usa la dependencia de mongodb MongoClient

#### Ejemplo de un expireData

plugdo.integration("mongo-connector", (message, send) => {
  let response = {};
  
var DataExpiration = {
    exp: [
      {
      "date": 1 
      },
      { 
        expireAfterSeconds: 60 
        }
    ]
  }
 

  //  console.log(message)
  plugdo.collect("mongoExpire").get(DataExpiration, function (data, err) {
    if (err) {
      send({}, err)
    } else {
      response.result = data;
      send(response)
    }
  })
 
});

dentro de la propiedad exp se coloca el tipo de dato al que se le va a poner un tiempo de expiración y se le pasa la propiedad {expireAfterSeconds: 60 }

configuracion del collector

   var serverConnect =  {
     user: "abdielfloresXXplugdo",
     password: "1997985254522",
     host: "cluster0-xg7r9.mongodb.net",
     db: "plugdoconnector",
     options: "retryWrites=true&w=majority"
   } 
   
   var serverConnectdev =  {
     user: "",
     password: "",
     host: "mongodb://localhost:27017",
     db: "Plugdo",
     options: ""
   } 
   
   
   plugdo.collector("mongoExpire", {
     type: "db",
     action: "mongodb",
     server: serverConnect,
     collection: "exp",
     queryType: "dataExpiration",
     mode:"",
     schema: [{
       name: { type: String, require: true },
       date: { type: Date, require: true }
     }],
     parameter : []
   });

__leer la documentacion de mongodb para ver el uso de este comando https://docs.mongodb.com/manual/tutorial/expire-data/

para ver mas sobre la configuracion de los conectores revisar la pagina de plugdo doc

https://docs.plugdo.com/#plugdo-node-server

https://docs.plugdo.com/#plugdo-node-mvc

1.0.0

4 years ago