錯誤


Error()

參數
  • msg «字串» 錯誤訊息

類型
  • «建構函式»
繼承自

MongooseError 建構函式。MongooseError 是所有 Mongoose 特定錯誤的基底類別。

範例

const Model = mongoose.model('Test', new mongoose.Schema({ answer: Number }));
const doc = new Model({ answer: 'not a number' });
const err = doc.validateSync();

err instanceof mongoose.Error.ValidationError; // true

Error.CastError

類型
  • «屬性»

當 mongoose 無法轉換值時,將會傳回此錯誤類別的實例。


Error.DivergentArrayError

類型
  • «屬性»

如果您使用了陣列投影,然後以不安全的方式修改陣列,則會傳回此錯誤的實例。


Error.DocumentNotFoundError

類型
  • «屬性»

save() 因為找不到底層文件而失敗時,將會傳回此錯誤類別的實例。建構函式接受一個參數,即 mongoose 在嘗試更新文件時傳遞給 updateOne() 的條件。


Error.MissingSchemaError

類型
  • «屬性»

當您嘗試存取尚未註冊的模型時拋出


Error.MongooseServerSelectionError

類型
  • «屬性»

當 MongoDB Node 驅動程式無法連線到有效的伺服器以傳送操作時拋出。


Error.OverwriteModelError

類型
  • «屬性»

當具有給定名稱的模型已在連線上註冊時拋出。請參閱關於 OverwriteModelError 的常見問題


Error.ParallelSaveError

類型
  • «屬性»

當您在同一個文件上並行多次呼叫 save() 時,將會傳回此錯誤類別的實例。請參閱常見問題以取得更多資訊。


Error.StrictModeError

類型
  • «屬性»

當您嘗試將未在模式中指定的值傳遞給模型建構函式,或在 strict 模式為 "throw" 時變更不可變的屬性時拋出


Error.StrictPopulateError

類型
  • «屬性»

當 mongoose 無法使用不存在的路徑填充時,將會傳回此錯誤類別的實例。


Error.ValidationError

類型
  • «屬性»

驗證失敗時,將會傳回此錯誤類別的實例。errors 屬性包含一個物件,其鍵是失敗的路徑,其值是 CastError 或 ValidationError 的實例。


Error.ValidatorError

類型
  • «屬性»

ValidationError 具有 errors 的雜湊,其中包含個別的 ValidatorError 實例。

範例

const schema = Schema({ name: { type: String, required: true } });
const Model = mongoose.model('Test', schema);
const doc = new Model({});

// Top-level error is a ValidationError, **not** a ValidatorError
const err = doc.validateSync();
err instanceof mongoose.Error.ValidationError; // true

// A ValidationError `err` has 0 or more ValidatorErrors keyed by the
// path in the `err.errors` property.
err.errors['name'] instanceof mongoose.Error.ValidatorError;

err.errors['name'].kind; // 'required'
err.errors['name'].path; // 'name'
err.errors['name'].value; // undefined

ValidatorError 的實例具有以下屬性

  • kind: 驗證器的 type,例如 'required''regexp'
  • path: 驗證失敗的路徑
  • value: 驗證失敗的值

Error.VersionError

類型
  • «屬性»

當您在資料庫中的文件以可能不安全的方式變更後呼叫 save() 時,將會傳回此錯誤類別的實例。請參閱versionKey 選項以取得更多資訊。


Error.messages

類型
  • «屬性»
請參閱

預設的內建驗證器錯誤訊息。


Error.prototype.name

類型
  • «字串»

錯誤的名稱。名稱唯一識別此 Mongoose 錯誤。可能的值為

  • MongooseError:一般 Mongoose 錯誤
  • CastError:Mongoose 無法將值轉換為模式路徑中定義的類型。可能在 ValidationError 類別的 errors 屬性中。
  • DivergentArrayError:您嘗試 save() 在您使用 $elemMatch 或類似投影載入後修改的陣列
  • MissingSchemaError:您嘗試使用 mongoose.model() 存取未定義的模型
  • DocumentNotFoundError:您嘗試save() 的文件未找到
  • ValidatorError:來自個別模式路徑驗證器的錯誤
  • ValidationError:從 validate()validateSync() 傳回的錯誤。在 .errors 屬性中包含零個或多個 ValidatorError 實例。
  • MissingSchemaError:您在沒有模式的情況下呼叫 mongoose.Document()
  • ObjectExpectedError:當您使用設定的嚴格模式將巢狀路徑設定為非物件值時拋出。
  • ObjectParameterError:當您將非物件值傳遞給期望物件作為參數的函式時拋出
  • OverwriteModelError:當您呼叫 mongoose.model() 重新定義已定義的模型時拋出。
  • ParallelSaveError:當您在已在儲存的相同文件實例上呼叫 save() 時拋出。
  • StrictModeError:當您設定不是模式的路徑,且嚴格模式設定為 throw 時拋出。
  • VersionError:當文件不同步時拋出