You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

21 lines
413 B
JavaScript

'use strict';
const addAutoId = require('./addAutoId');
module.exports = function handleIdOption(schema, options) {
if (options == null || options._id == null) {
return schema;
}
schema = schema.clone();
if (!options._id) {
schema.remove('_id');
schema.options._id = false;
} else if (!schema.paths['_id']) {
addAutoId(schema);
schema.options._id = true;
}
return schema;
};