
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
@gravs/build-query
Advanced tools
Generador de consultas SQL para PostgreSQL, MySQL diseñado para ser flexible, portátil y divertido de usar.
Generador de consultas SQL para PostgreSQL, MySQL diseñado para ser flexible, portátil y divertido de usar.
Instale el paquete build-query desde la linea de comandos usando npm :
$ npm install @gravs/query-builder
Luego instale la biblioteca de base de datos apropiada pg o mysql2 :
$ npm install pg
$ npm install mysql2
Lo primero que debemos hacer es incluir @gravs/query-builder en nuestro proyecto y abrir un conexión a la base de datos de la siguiente manera :
const gravs = require("@gravs/build-query");
const config = {
driver: "postgres", // si esta usando mysql entonces reemplacelo
config: {
host: "127.0.0.1",
port: 5432,
user: "postgres",
password: "password",
database: "test_app",
},
};
gravs
.connect(config)
.then((ok) => console.log(ok))
.catch((error) => console.error(error));
Vamos a encontrar en nombre y la raza de todos los cachorros registrados en la entidad puppy, para ello usamos el método find() :
const puppies = await gravs.find({
entity: "puppy",
fields: ["name", "race"],
});
Si queremos encontrar cachorros solo de la raza 'labrador' utilizaremos filtros y enviaremos los campos vacíos para poder obtener todos los campos de la entidad puppy :
const puppies = await gravs.find({
entity: "puppy",
fields: [],
filters: { race: "labrador" },
});
Para agregar un cachorro en la entidad puppy con el nombre 'aika' utilizamos la método create() :
await gravs.create({
entity: "puppy",
attributes: { _id: 1, name: "aika", race: "labrador" },
returning: { return: true, fields: [] },
});
Si quieres obtener los atributos del cachorro agregado usamos el parámetro returning como se muestra a continuación :
const puppy = await gravs.create({
entity: "puppy",
attributes: { _id: 1, name: "aika", race: "labrador" },
returning: { return: true, fields: [] },
});
Para modificar la edad de un cachorro de la entidad puppy usamos el método update() y pasaremos como parámetros el nombre de la entidad y los atributos que se modificaran, ademas enviaremos el código del cachorro que modificaremos :
await gravs.update({
entity: "puppy",
attributes: { age: 2 },
filters: { _id: 1 },
});
Y si queremos obtener el resultado del cachorro modificado usamos el parámetro returning :
const puppy = await gravs.update({
entity: "puppy",
attributes: { age: 1 },
filters: { _id: 3 },
returning: { return: true, fields: [] },
});
Para eliminar un cachorro de la base de datos debemos usar el método remove() en donde pasaremos en nombre de la entidad puppy junto con el código del cachorro que queremos eliminar :
await gravs.remove({
entity: "puppy",
filters: { _id: 2 },
});
Y para obtener el cachorro eliminado usamos returning para devolver los atributos del cachorro eliminado :
const puppy = await gravs.remove({
entity: "puppy",
filters: { _id: 4 },
returning: { return: true, fields: [] },
});
FAQs
Generador de consultas SQL para PostgreSQL, MySQL diseñado para ser flexible, portátil y divertido de usar.
We found that @gravs/build-query demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.