conector-mongodb-plugdo v1.0.0
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
4 years ago