Automattic/mongoose · error · MongooseError
Invalid select: select only takes 1 argument
Error message
Invalid select: select only takes 1 argument
What it means
Error "Invalid select: select only takes 1 argument" thrown in Automattic/mongoose.
Source
Thrown at lib/query.js:1133
* query.select({ a: 1, b: 1 }).select({ b: 0 }); // selection is now { a: 1 }
* query.select({ a: 0, b: 0 }).select({ b: 1 }); // selection is now { a: 0 }
*
*
* @method select
* @memberOf Query
* @instance
* @param {object|string|Array<string>} arg
* @return {Query} this
* @see SchemaType https://mongoosejs.com/docs/api/schematype.html
* @api public
*/
Query.prototype.select = function select() {
let arg = arguments[0];
if (!arg) return this;
if (arguments.length !== 1) {
throw new MongooseError('Invalid select: select only takes 1 argument');
}
this._validate('select');
const fields = this._fields || (this._fields = {});
const userProvidedFields = this._userProvidedFields || (this._userProvidedFields = {});
let sanitizeProjection = undefined;
if (this.model != null && utils.hasUserDefinedProperty(this.model.db.options, 'sanitizeProjection')) {
sanitizeProjection = this.model.db.options.sanitizeProjection;
} else if (this.model != null && utils.hasUserDefinedProperty(this.model.base.options, 'sanitizeProjection')) {
sanitizeProjection = this.model.base.options.sanitizeProjection;
} else {
sanitizeProjection = this._mongooseOptions.sanitizeProjection;
}
function sanitizeValue(value) {
return typeof value === 'string' && sanitizeProjection ? value = 1 : value;
}View on GitHub (pinned to 49cdab0136)
When it happens
Trigger: Thrown at lib/query.js:1133 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Automattic/mongoose@49cdab0136 (2026-08-21).
Data as JSON: /api/errors/eca9e4c330f01e40.
Report an issue: GitHub.