1.0.1 • Published 3 months ago

mongodb-fastserver v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

Connector mongodb

Este paquete es un complemento del paquete llamado fastserver cual puedes encontrar la documentacion de su uso en la pagina de npm https://www.npmjs.com/package/fastserverexp puede instalar usando el comando npm i fastserverexp este es para proyectos mvc con express

Este paquete es un complemento del paquete llamado mvserver cual puedes encontrar la documentacion de su uso en la pagina de npm https://www.npmjs.com/package/fastserverexp puede instalar usando el comando npm i fastserverexp este es para proyectos lambda function con node js

Este es un conector de mongo db actualmente estamos usando la version de mongoose "mongoose": "^7.5.0" , para poder regirtar este conector y usarlo debemos hacer lo siguiente

Una vez descargado de npm utilizando el comando npm i mongodb-connector-fastserverexp debemos registrarlo de la siguiente manera

const mongodb_connect = require("mongodb-fastserver");
apserver.registerConnector("db", "mongodb", mongodb_connect.mongodb());

debemos agregar esta fracion de codigo en el index.js ( archivo principal ) de nuestro proyecto quedaria de la siguiente manera en caso de usar el modulo fastserver para proyectos con lambda function aws

// registramos nuestro paquete 
const Server = require('fastserverexp')
const apserver = new Server();

// hacemos uso del modulo de path para pasar la ruta de nuestros collectores const path = require ('path') const pathApp = path.join(__dirname, '/source/collector');

// el archivo de configuracion de las apis const routeApisRegister = require('./config/config.apis.router'),compression

// registramos nuestro connector de mongodb con mongoose const mongodb_connect = require("mongodb-fastserver"); apserver.registerConnector("db", "mongodb", mongodb_connect.mongodb());

// inicializamos la aplicacion apserver.start(4000,routeApisRegister,pathApp);

- mvserver https://www.npmjs.com/package/mvserver 
- faserverexp https://www.npmjs.com/package/fastserverexp  

> de esta manera ya podemos hacer uso de nuestro connector, a continuacion haremos un ejemplo de como lo usarimos y como llamarlo desde nuestros controladores.

> Antes de  iniciar debemos crear tener la  carpeta llamada **collector**  aqui  se hara el registro de todos los collectores que usaremos   con nuestro connector para ello debemos hacer lo siguiente  cada modulo tiene su documentacion de como usarlo, el registro de este conector en ambos modulos  es de la misma manera 



## Uso del connector mongodb 
> Aqui te mostrare con un ejemplo como usar el conector, como primer punto debemos crear un archivo en la carpeta que anteriormente creaste   con nombre collector   dentro podras definir todos los collector  que necesite tu aplicacion, para definir uno debes hacerlo de la siguiente manera 

```js
const config = require('../../config/config.mongodb')
fastserver.collector("saveInformationUser", {
  type: "db",
  action: "mongodb",
  server: {
    user: config.user,
    password: config.password,
    host: config.hostname,
    db: "userservice",
    options: config.connectOption
  },
  collection: "users",
  model: "userModel",
  queryType: "save",
  schema:[{
    id: { type: String, require: true },
    nombre: { type: String, require: true },
    apellido: { type: String, require: true },
    tel: { type: String, require: true }
}],
  parameter: []
});

De esta manera puedes el connector que usaras, en este punto ya esta listo para ser usado,en el siguiente punto te dire como usarlo desde nuestro controlador del metodo de tu api

primero vamos a ir a tu controlador que te explico como crear en la pagina de npm https://www.npmjs.com/package/fastserverexp

En nuestro controlador podemos hacer el uso de nuestra palabra global fastserver ejemplo

Ejemplo de llamdo de collector desde nuestro controlador con fastserver

let model ={
    id: "iyUq83egzGKOdP0T58tI",
    nombre: "Edwuad",
    apellido: "king",
    tel: "+507 62569274"
}
fastserver.collect('saveInformationUser').get(model, (data, err) => {
            if (err) {
                send({}, err)
            } else {
                this.response.data = data;
                this.response.error= "",
                this.response.errorCode= 200,
                this.response["codeAlert"]= "save",

                res.status(200).json({ status: 200, result: this.response });
            }
        })

Este lleva como parametro el nombre del collector que usaremos y el modelo de datos que enviaremos

Ejemplo de uso de conector uso del queryType --> save

const config = require('../../config/config.mongodb')
fastserver.collector("saveInformationUser", {
  type: "db",
  action: "mongodb",
  server: {
    user: config.user,
    password: config.password,
    host: config.hostname,
    db: "userservice",
    options: config.connectOption
  },
  collection: "users",
  model: "userModel",
  queryType: "save",
  mode: "dev",
  schema: SchemaUser,
  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”

schema: verificar la documentacion de mongose de como manejar los schema, en este ejemplo crearemos un archivo el cual manejara el esquema de nuestra colecion en mongo db

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

  • save
  • findOneAndUpdateData
  • find

En los ejemplos anteriores te explique como hacer uso del connector en el ejemplo usamos el queryType save para crear o guardar la informacion de nuestro modelo, este valor save es para guardar nueva informacion.

Ejemplo de uso de conector uso del queryType --> findOneAndUpdateData

Este Comando es el mismo de la documentacion de mongoose https://mongoosejs.com/docs/documents.html en este ejemplo te explicare como usarlo con el modulo de fastserverexp.

cuando vamos a enviarle los parametros para hacer el cambio deben contener el siguiente formato de otra manera no funcionara

{
    "filter" :{
        "email":"abdielantonio.af@gmail.com"
    },
    "update":{
        "nombre": "Abdiel Antonio",
        "apellido": "Flores",
        "tel": "507 62569274"
    }
   
}

la propiedad filter debes colocar uno de los campos unicos que definiste, puede ser email o id en este caso La propiedad update Colocas los valores que quieres cambiar

Ejemplo de uso de conector uso del queryType --> find

Este comonado es el mismo de mongoose revisa la documentacion en la pagina https://mongoosejs.com/ en este ejemplo te explicare como usarlo en nuestro modulo.

Los parametros que le debes enviar deben ser de la siguiente manera de lo contrario fallara

{
    "find":{
      "email":"abdielantonio.af@gmail.com"
    }
   
}

dentro de la propiedad *find debes de colocar el campo por el que lo buscaras

Ejemplo de uso de conector uso del queryType --> deleteOne

El comando deleteOneData usamos el deleteOne de mongodb para mas informacion de su uso revisar la documentacion, en este ejemplo te explicare como usarlo.

Los parametros que debes enviarle al api debe ser el siguiente

{
 "email":"abdielantonio.af@gmail.com"
}

Observacion: debes colocar el campo que definiste como unico para poder eliminar el objeto que necesitas se recomienda eliminar tambien por el campo _id que genera mongo por default.

1.0.1

3 months ago

1.0.11

3 months ago

1.0.0

8 months ago