You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
443 B
18 lines
443 B
4 years ago
|
'use strict';
|
||
|
|
||
|
const get = require('../get');
|
||
|
|
||
|
module.exports = function isDefaultIdIndex(index) {
|
||
|
if (Array.isArray(index)) {
|
||
|
// Mongoose syntax
|
||
|
const keys = Object.keys(index[0]);
|
||
|
return keys.length === 1 && keys[0] === '_id' && index[0]._id !== 'hashed';
|
||
|
}
|
||
|
|
||
|
if (typeof index !== 'object') {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
const key = get(index, 'key', {});
|
||
|
return Object.keys(key).length === 1 && key.hasOwnProperty('_id');
|
||
|
};
|