HTMLify
index_exists.js
Views: 4 | Author: cody
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 'use strict'; const OperationBase = require('./operation').OperationBase; const handleCallback = require('../utils').handleCallback; const indexInformationDb = require('./db_ops').indexInformation; class IndexExistsOperation extends OperationBase { constructor(collection, indexes, options) { super(options); this.collection = collection; this.indexes = indexes; } execute(callback) { const coll = this.collection; const indexes = this.indexes; const options = this.options; indexInformationDb(coll.s.db, coll.collectionName, options, (err, indexInformation) => { // If we have an error return if (err != null) return handleCallback(callback, err, null); // Let's check for the index names if (!Array.isArray(indexes)) return handleCallback(callback, null, indexInformation[indexes] != null); // Check in list of indexes for (let i = 0; i < indexes.length; i++) { if (indexInformation[indexes[i]] == null) { return handleCallback(callback, null, false); } } // All keys found return true return handleCallback(callback, null, true); }); } } module.exports = IndexExistsOperation; |