diff options
Diffstat (limited to 'node_modules/mongodb/lib/operations/stats.js')
-rw-r--r-- | node_modules/mongodb/lib/operations/stats.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/node_modules/mongodb/lib/operations/stats.js b/node_modules/mongodb/lib/operations/stats.js new file mode 100644 index 0000000..ff79126 --- /dev/null +++ b/node_modules/mongodb/lib/operations/stats.js @@ -0,0 +1,45 @@ +'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; |