You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							46 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							46 lines
						
					
					
						
							1.1 KiB
						
					
					
				| 'use strict';
 | |
| 
 | |
| const Aspect = require('./operation').Aspect;
 | |
| const CommandOperation = require('./command');
 | |
| const defineAspects = require('./operation').defineAspects;
 | |
| 
 | |
| /**
 | |
|  * Get all the collection statistics.
 | |
|  *
 | |
|  * @class
 | |
|  * @property {Collection} a Collection instance.
 | |
|  * @property {object} [options] Optional settings. See Collection.prototype.stats for a list of options.
 | |
|  */
 | |
| class StatsOperation extends CommandOperation {
 | |
|   /**
 | |
|    * Construct a Stats operation.
 | |
|    *
 | |
|    * @param {Collection} a Collection instance.
 | |
|    * @param {object} [options] Optional settings. See Collection.prototype.stats for a list of options.
 | |
|    */
 | |
|   constructor(collection, options) {
 | |
|     super(collection.s.db, options, collection);
 | |
|   }
 | |
| 
 | |
|   _buildCommand() {
 | |
|     const collection = this.collection;
 | |
|     const options = this.options;
 | |
| 
 | |
|     // Build command object
 | |
|     const command = {
 | |
|       collStats: collection.collectionName
 | |
|     };
 | |
| 
 | |
|     // Check if we have the scale value
 | |
|     if (options['scale'] != null) {
 | |
|       command['scale'] = options['scale'];
 | |
|     }
 | |
| 
 | |
|     return command;
 | |
|   }
 | |
| }
 | |
| 
 | |
| defineAspects(StatsOperation, Aspect.READ_OPERATION);
 | |
| 
 | |
| module.exports = StatsOperation;
 |