123456789101112131415161718192021222324252627282930313233 |
- 'use strict';
- const Aspect = require('./operation').Aspect;
- const defineAspects = require('./operation').defineAspects;
- const CommandOperationV2 = require('./command_v2');
- const serverType = require('../core/sdam/common').serverType;
- const ServerType = require('../core/sdam/common').ServerType;
- const MongoError = require('../core').MongoError;
- class ReIndexOperation extends CommandOperationV2 {
- constructor(collection, options) {
- super(collection, options);
- this.collectionName = collection.collectionName;
- }
- execute(server, callback) {
- if (serverType(server) !== ServerType.Standalone) {
- callback(new MongoError(`reIndex can only be executed on standalone servers.`));
- return;
- }
- super.executeCommand(server, { reIndex: this.collectionName }, (err, result) => {
- if (err) {
- callback(err);
- return;
- }
- callback(null, !!result.ok);
- });
- }
- }
- defineAspects(ReIndexOperation, [Aspect.EXECUTE_WITH_SELECTION]);
- module.exports = ReIndexOperation;
|