flex-json-searcher v1.0.7
FJS - Flex JSON Searcher
FJS é uma biblioteca JavaScript que permite fazer buscas em um array de objetos com base em critérios de consulta flexíveis. Com o FJS, você pode realizar buscas complexas e precisas em seus dados usando operadores atômicos e operadores de busca avançados, como busca fuzzy e busca por data.
Instalação
A biblioteca FJS pode ser instalada via npm. Para isso, certifique-se de ter o Node.js instalado em seu ambiente. Em seguida, execute o seguinte comando:
npm install flex-json-searcher
Utilização
O FJS é fácil de usar e pode ser utilizado tanto em projetos TypeScript (com suporte a import/export) quanto em projetos JavaScript (com suporte a require). Abaixo estão os passos para utilização do FJS em ambos os cenários:
import { FJS } from "flex-json-searcher";
// ou
// const { FJS } = require('flex-json-searcher');
// Seus dados em formato de array de objetos
const data = [
{ id: 1, name: "Alice", age: 30, city: "New York" },
{ id: 2, name: "Bob", age: 25, city: "Los Angeles" },
{ id: 3, name: "Charlie", age: 35, city: "Chicago" },
];
(async() =>{
// Cria um novo objeto FJS com os dados
const fjs = new FJS(data);
// Define os critérios de busca
const query = { age: { $gt: 28 }, city: { $regex: "new" } };
// Realiza a busca
const result = await fjs.search(query);
console.log(result.result); // Resultado da busca
console.log(result.metadata); // Metadados da busca
})()
Operadores Atômicos
O FJS é uma biblioteca que permite fazer buscas em um array de objetos com base em critérios de consulta, sendo uma alternativa flexível e de fácil utilização para a busca de dados em JavaScript. Inspirado no MongoDB, o FJS suporta uma variedade de operadores atômicos que podem ser usados em suas consultas, proporcionando uma experiência semelhante à realização de consultas no MongoDB.
Os seguintes operadores atômicos são suportados pelo FJS e podem ser utilizados em suas consultas:
Operador | Descrição |
---|---|
$eq | Igual a |
$ne | Diferente de |
$gt | Maior que |
$lt | Menor que |
$gte | Maior ou igual a |
$lte | Menor ou igual a |
$in | Está contido em um conjunto |
$regex | Corresponde a uma expressão regular (case-insensitive) |
$exists | Verifica se um campo existe |
$nin | Não está contido em um conjunto |
$startsWith | Começa com uma determinada substring (case-insensitive) |
$endsWith | Termina com uma determinada substring (case-insensitive) |
$contains | Contém uma determinada substring (case-insensitive) |
$size | Tamanho de um array |
$fuzz | Busca fuzzy (busca aproximada) |
$date | Busca por data (aceita datas e timestamps) |
Esses operadores podem ser combinados para realizar buscas mais complexas e precisas em seus dados.