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