add model search
This commit is contained in:
parent
8ff4092ebc
commit
2eba54d48a
2 changed files with 25 additions and 25 deletions
|
@ -28,6 +28,30 @@ class DBManagement {
|
||||||
this[`collection`] = COLLECTION;
|
this[`collection`] = COLLECTION;
|
||||||
this.state.then(() => {this.model = this[`connection`].model(`URL`, this[`schema`]);})
|
this.state.then(() => {this.model = this[`connection`].model(`URL`, this[`schema`]);})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Find based on corresponding details.
|
||||||
|
|
||||||
|
@param {object} CRITERIA the search criteria
|
||||||
|
@param {number} SIZE the size of the search
|
||||||
|
@return {object} the search results
|
||||||
|
*/
|
||||||
|
async search(CRITERIA = {}, SIZE) {
|
||||||
|
await this.state;
|
||||||
|
let RESULT = [];
|
||||||
|
|
||||||
|
if ((CRITERIA && CRITERIA instanceof Object) ? !Object.keys(CRITERIA).length : true) {
|
||||||
|
RESULT = await this.model.find();
|
||||||
|
} else if (CRITERIA instanceof Object) {
|
||||||
|
RESULT = await this.model.find(CRITERIA);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (RESULT.length && (SIZE) ? (SIZE > 0 && SIZE < RESULT.length) : false) {
|
||||||
|
RESULT = RESULT.slice(0,n);
|
||||||
|
}
|
||||||
|
|
||||||
|
return RESULT;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = DBManagement;
|
module.exports = DBManagement;
|
|
@ -27,7 +27,7 @@ class UsersManagement extends DBManagement {
|
||||||
@return {object} the found user
|
@return {object} the found user
|
||||||
*/
|
*/
|
||||||
const checkMatch = async () => {
|
const checkMatch = async () => {
|
||||||
let RESULTS = await this.match({"name": USERNAME}, 1);
|
let RESULTS = await this.search({"name": USERNAME}, 1);
|
||||||
return ((RESULTS.length) ? RESULTS[0] : false)
|
return ((RESULTS.length) ? RESULTS[0] : false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,28 +52,4 @@ class UsersManagement extends DBManagement {
|
||||||
return (CURRENT);
|
return (CURRENT);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
Find a user based on their corresponding details.
|
|
||||||
|
|
||||||
@param {object} CRITERIA the search criteria
|
|
||||||
@param {number} SIZE the size of the search
|
|
||||||
@return {object} the search results
|
|
||||||
*/
|
|
||||||
async match(CRITERIA = {}, SIZE) {
|
|
||||||
await this.state;
|
|
||||||
let RESULT = [];
|
|
||||||
|
|
||||||
if ((CRITERIA && CRITERIA instanceof Object) ? !Object.keys(CRITERIA).length : true) {
|
|
||||||
RESULT = await this.model.find();
|
|
||||||
} else if (CRITERIA instanceof Object) {
|
|
||||||
RESULT = await this.model.find(CRITERIA);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (RESULT.length && (SIZE) ? (SIZE > 0 && SIZE < RESULT.length) : false) {
|
|
||||||
RESULT = RESULT.slice(0,n);
|
|
||||||
}
|
|
||||||
|
|
||||||
return RESULT;
|
|
||||||
};
|
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue