Initial commit
This commit is contained in:
39
node_modules/mongodb/lib/operations/index_exists.js
generated
vendored
Normal file
39
node_modules/mongodb/lib/operations/index_exists.js
generated
vendored
Normal file
@@ -0,0 +1,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;
|
||||
Reference in New Issue
Block a user