1.0.0 • Published 7 years ago
keyobj v1.0.0
Key-Object collection convertor
This function transform collection object-orginized structure with keys list;
Usage:
import keyobj from 'keyobj'; // that's all!
/*
usage: keyobj(data, [key='_id', [group=false]]);
*/
let data = await mongoose.models.MyUsersModel.find({'isEnabled': true});
let result = keyobj(data); // default key is _id
/**
result is
{
keys: [1,2,3,4,5],
obj: {
1: {_id: 1, username: 'John'},
2: {_id: 2, username: 'Mary'},
3: {_id: 3, username: 'Kevin'},
4: {_id: 4, username: 'Vladimir'},
5: {_id: 5, username: 'Stefan'},
}
}
*/
let result = keyobj(data, 'username'); // convert with another key
/**
result is
{
keys: ['John','Mary','Kevin','Vladimir','Stefan'],
obj: {
'John': {_id: 1, username: 'John'},
'Mary': {_id: 2, username: 'Mary'},
'Kevin': {_id: 3, username: 'Kevin'},
'Vladimir': {_id: 4, username: 'Vladimir'},
'Stefan': {_id: 5, username: 'Stefan'},
}
}
*/
let result = keyobj(data, 'username', true); // convert with another key and group to collection
/**
result is
{
keys: ['John','Mary','Kevin','Vladimir','Stefan'],
obj: {
'John': [{_id: 1, username: 'John'}],
'Mary': [{_id: 2, username: 'Mary'}],
'Kevin': [{_id: 3, username: 'Kevin'}],
'Vladimir': [{_id: 4, username: 'Vladimir'}],
'Stefan': [{_id: 5, username: 'Stefan'}],
}
}
*/
let result = keyobj(data, 'username', '_id'); // convert with another key and group to structure
/**
result is
{
keys: ['John','Mary','Kevin','Vladimir','Stefan'],
obj: {
'John': {1: {_id: 1, username: 'John'}},
'Mary': {2: {_id: 2, username: 'Mary'}},
'Kevin': {3: {_id: 3, username: 'Kevin'}},
'Vladimir': {4: {_id: 4, username: 'Vladimir'}},
'Stefan': {5: {_id: 5, username: 'Stefan'}},
}
}
*/
1.0.0
7 years ago