data-set-query

Data set querying via hasing and indexing with Auto Index ability

Usage Examble boost json query speed using RAM insted of CPU iterations ....

import  mongodb  from  "mongodb";

let  ObjectId = d  =>  mongodb.ObjectId(d);

let  ISODate = d  =>  Date(d);

let DATA=  [

{

_id:  ObjectId("5e4e712e9c9f17288d6e0b11"),

uuid:  "",

name:  "default",

local_name:  "",

sku:  "",

barcode:  "054881000468",

price:  1350,

weight:  1,

length:  0,

width:  0,

height:  10,

position:  0,

disabled:  false,

company_namespace: ["gard"],

product: {

_id:  ObjectId("5e369b09d4b0fb60e1379575"),

sub_category: [ObjectId("5e1ecee8e9348574c80813f2")],

assigned_to: [],

manufacturer:  "",

vendor_name:  "GM",

vendor_part_no:  "",

mfr_part_no:  "",

brand:  null,

barcode:  "054881000468",

tax:  null,

description:  "",

product_img:

"https://corp-gard.s3.amazonaws.com/image/2020/2/2/4ccb4ba2-498c-42f3-a972-bc4557e80bca.jpeg",

promotion: [],

active:  true,

product_type:  "all",

sv_tax:  null,

assigned_media: [],

uuid:  null,

modifiers_group: [],

name:  "ahmad tea premium blend 200 gr",

category: {

_id:  ObjectId("5e1ece6335e42053121b4ff3"),

name:  "cat1",

type:  "main"

},

sku:  "",

serial_no:  "",

auditable:  true,

vat:  0,

base_price:  1.35,

prime_cost:  0,

bottom_price:  0,

reorder_level:  0,

units_of_measure: [

{

name:  "piece",

piece:  1,

_id:  ObjectId("5e369b09d4b0fb60e1379576")

}

],

price_list: [],

company_namespace: ["gard"],

__v:  0,

createdAt:  ISODate("2020-02-02T09:48:57.928Z"),

updatedAt:  ISODate("2020-10-11T10:51:03.002Z"),

measureunit_family:  null,

channel:  null

},

__v:  0,

createdAt:  ISODate("2020-02-20T11:44:46.404Z"),

updatedAt:  ISODate("2020-02-20T11:44:46.404Z")

},

{

_id:  ObjectId("5e4e71319c9f17288d6e0b34"),

uuid:  "",

name:  "default",

local_name:  "",

sku:  "",

barcode:  "054881005876",

price:  830,

weight:  0,

length:  0,

width:  0,

height:  0,

position:  0,

disabled:  false,

company_namespace: ["gard"],

product: {

_id:  ObjectId("5e369b09d4b0fb60e1379587"),

sub_category: [ObjectId("5e1ecee8e9348574c80813f2")],

assigned_to: [],

manufacturer:  "",

vendor_name:  "GM",

vendor_part_no:  "",

mfr_part_no:  "",

brand:  null,

barcode:  "054881005876",

tax:  null,

description:  "",

product_img:

"https://corp-gard.s3.amazonaws.com/image/2020/2/2/ab3163c3-17a6-4432-9717-a2df31ac0b01.jpeg",

promotion: [],

active:  true,

product_type:  "all",

sv_tax:  null,

assigned_media: [],

uuid:  null,

modifiers_group: [],

name:  "Ahmad Tea London Cardamon Tea 25 Bag",

category:  ObjectId("5e1ece6335e42053121b4ff3"),

sku:  "",

serial_no:  "",

auditable:  true,

vat:  0,

base_price:  0.83,

prime_cost:  0,

bottom_price:  0,

reorder_level:  0,

units_of_measure: [

{

name:  "piece",

piece:  1,

_id:  ObjectId("5e369b09d4b0fb60e1379588")

}

],

price_list: [],

company_namespace: ["gard"],

__v:  0,

createdAt:  ISODate("2020-02-02T09:48:57.929Z"),

updatedAt:  ISODate("2020-10-11T10:51:03.002Z"),

measureunit_family:  null,

channel:  null

},

__v:  0,

createdAt:  ISODate("2020-02-20T11:44:49.561Z"),

updatedAt:  ISODate("2020-02-20T11:44:49.561Z")

},

{

_id:  ObjectId("5e4e71489c9f17288d6e0c23"),

uuid:  "",

name:  "default",

local_name:  "",

sku:  "",

barcode:  "8434165503557",

price:  1260,

weight:  0,

length:  0,

width:  0,

height:  0,

position:  0,

disabled:  false,

company_namespace: ["gard"],

product: {

_id:  ObjectId("5e369b09d4b0fb60e1379751"),

sub_category: [ObjectId("5e1ecee8e9348574c80813e3")],

assigned_to: [],

manufacturer:  "",

vendor_name:  "",

vendor_part_no:  "",

mfr_part_no:  "",

brand:  null,

barcode:  "8434165503557",

tax:  ObjectId("5e1ec75064b38574f1538a12"),

description:  "",

product_img:

"https://corp-gard.s3.amazonaws.com/image/2020/2/2/6f48f8d2-72cc-4e10-b40d-f2e3606e534b.jpeg",

promotion: [],

active:  true,

product_type:  "all",

sv_tax:  null,

assigned_media: [],

uuid:  null,

modifiers_group: [],

name:  "Cuetara choco flakes 150gr in 3packs *12",

category:  ObjectId("5e1ece6335e42053121b4ffd"),

sku:  "",

serial_no:  "",

auditable:  true,

vat:  0,

base_price:  1.26,

prime_cost:  0,

bottom_price:  0,

reorder_level:  0,

units_of_measure: [

{

name:  "piece",

piece:  1,

_id:  ObjectId("5e369b09d4b0fb60e1379752")

}

],

price_list: [],

company_namespace: ["gard"],

__v:  0,

createdAt:  ISODate("2020-02-02T09:48:57.952Z"),

updatedAt:  ISODate("2020-10-11T10:51:03.002Z"),

measureunit_family:  null,

channel:  null

},

__v:  0,

createdAt:  ISODate("2020-02-20T11:45:12.077Z"),

updatedAt:  ISODate("2020-02-20T11:45:12.077Z")

},

{

_id:  ObjectId("5e4e71499c9f17288d6e0c35"),

uuid:  "",

name:  "default",

local_name:  "",

sku:  "",

barcode:  "8434165450493",

price:  1080,

weight:  0,

length:  0,

width:  0,

height:  0,

position:  0,

disabled:  false,

company_namespace: ["gard"],

product: {

_id:  ObjectId("5e369b09d4b0fb60e1379735"),

sub_category: [ObjectId("5e1ecee8e9348574c80813e3")],

assigned_to: [],

manufacturer:  "",

vendor_name:  "",

vendor_part_no:  "",

mfr_part_no:  "",

brand:  null,

barcode:  "8434165450493",

tax:  ObjectId("5e1ec75064b38574f1538a12"),

description:  "",

product_img:

"https://corp-gard.s3.amazonaws.com/image/2020/2/2/35b3d719-3ed1-49ab-88d1-7b3234476f43.jpeg",

promotion: [],

active:  true,

product_type:  "all",

sv_tax:  null,

assigned_media: [],

uuid:  null,

modifiers_group: [],

name:  "Cuetara Digesta 200gr*12",

category:  ObjectId("5e1ece6335e42053121b4ffd"),

sku:  "",

serial_no:  "",

auditable:  true,

vat:  0,

base_price:  1.08,

prime_cost:  0,

bottom_price:  0,

reorder_level:  0,

units_of_measure: [

{

name:  "piece",

piece:  1,

_id:  ObjectId("5e369b09d4b0fb60e1379736")

}

],

price_list: [],

company_namespace: ["gard"],

__v:  0,

createdAt:  ISODate("2020-02-02T09:48:57.951Z"),

updatedAt:  ISODate("2020-10-11T10:51:03.002Z"),

measureunit_family:  null,

channel:  null

},

__v:  0,

createdAt:  ISODate("2020-02-20T11:45:13.636Z"),

updatedAt:  ISODate("2020-02-20T11:45:13.636Z")

}

];




import  DataSet  from  "data-set-query";
let  db = new  DataSet([], { found:  true, autoIndex:  false });
db.createIndex({

_id:  ObjectId("60e432ac44ed176f20753369"),

height:  10,

company_namespace: ["japatest"],

product: { description:  "desc" },

barcode:  1

});

db.load(DATA);

let res = db.search({ weight: 1, product: { vendor_name: "GM" } });
let  res2 = db.search({

// _id: ObjectId("60e432ac44ed176f20753369"),

height:  10,

barcode:  "054881000468"

// company_namespace: ["japatest"],

// product: { description: "desc" },

});