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.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; | ||||
|  | @ -27,7 +27,7 @@ class UsersManagement extends DBManagement { | |||
| 		@return {object} the found user | ||||
| 		*/ | ||||
| 		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) | ||||
| 		} | ||||
| 
 | ||||
|  | @ -52,28 +52,4 @@ class UsersManagement extends DBManagement { | |||
| 			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