2021-12-03 17:58:48 +01:00

33 lines
894 B
JavaScript

'use strict';
const OperationBase = require('./operation').OperationBase;
const handleCallback = require('../utils').handleCallback;
const MongoError = require('../core').MongoError;
class OptionsOperation extends OperationBase {
constructor(collection, options) {
super(options);
this.collection = collection;
}
execute(callback) {
const coll = this.collection;
const opts = this.options;
coll.s.db.listCollections({ name: coll.collectionName }, opts).toArray((err, collections) => {
if (err) return handleCallback(callback, err);
if (collections.length === 0) {
return handleCallback(
callback,
MongoError.create({ message: `collection ${coll.namespace} not found`, driver: true })
);
}
handleCallback(callback, err, collections[0].options || null);
});
}
}
module.exports = OptionsOperation;