錯誤
Error()
Error.CastError
Error.DivergentArrayError
Error.DocumentNotFoundError
Error.MissingSchemaError
Error.MongooseServerSelectionError
Error.OverwriteModelError
Error.ParallelSaveError
Error.StrictModeError
Error.StrictPopulateError
Error.ValidationError
Error.ValidatorError
Error.VersionError
Error.messages
Error.prototype.name
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
:當文件不同步時拋出