Automattic/mongoose · error

MONGOOSE

MONGOOSE

Error message

mongoose: the method name "${method}" is used by mongoose internally, overwriting it may cause bugs. If you're sure you know what you're doing, you can suppress this error by using `schema.method('${method}', fn, { suppressWarning: true })`.

What it means

Error "mongoose: the method name "${method}" is used by mongoose internally, overwriting it may cause bugs. If you're sure you know what you're doing, you can suppress this error by using `schema.method('${method}', fn, { suppressWarning: true })`." thrown in Automattic/mongoose.

Source

Thrown at lib/helpers/model/applyMethods.js:47

  for (const method of Object.keys(schema.methods)) {
    const fn = schema.methods[method];
    if (Object.hasOwn(schema.tree, method)) {
      throw new Error('You have a method and a property in your schema both ' +
        'named "' + method + '"');
    }

    // Avoid making custom methods if user sets a method to itself, e.g.
    // `schema.method(save, Document.prototype.save)`. Can happen when
    // calling `loadClass()` with a class that `extends Document`. See gh-12254
    if (typeof fn === 'function' &&
        Model.prototype[method] === fn) {
      delete schema.methods[method];
      continue;
    }

    if (schema.reserved[method] &&
        !get(schema, `methodOptions.${method}.suppressWarning`, false)) {
      utils.warn(`mongoose: the method name "${method}" is used by mongoose ` +
        'internally, overwriting it may cause bugs. If you\'re sure you know ' +
        'what you\'re doing, you can suppress this error by using ' +
        `\`schema.method('${method}', fn, { suppressWarning: true })\`.`);
    }
    if (typeof fn === 'function') {
      model.prototype[method] = fn;
    } else {
      apply(method, schema);
    }
  }

  // Recursively call `applyMethods()` on child schemas
  model.$appliedMethods = true;
  for (const key of Object.keys(schema.paths)) {
    const type = schema.paths[key];
    if (type.$isSingleNested && !type.Constructor.$appliedMethods) {
      applyMethods(type.Constructor, type.schema);
    }

View on GitHub (pinned to 49cdab0136)

When it happens

Trigger: Thrown at lib/helpers/model/applyMethods.js:47 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/74270e82a38abfb8. Report an issue: GitHub.