當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Mongoose Query.prototype.error()用法及代碼示例


Mongoose 查詢API.prototype.error() 方法Mongoose API 的函數用於查詢對象。它允許我們獲取和設置特定查詢的錯誤函數和操作。該錯誤操作將在exec()方法完成其操作。讓我們了解一下error()使用示例的方法。

用法:

query.error( err );

參數:此方法接受單個參數,如下所述:

  • err:它用於指定錯誤對象。

返回值:該方法返回查詢對象,我們可以在該對象上設置回調函數。

設置 Node.js Mongoose 模塊:

步驟 1:使用以下命令創建 Node.js 應用程序:

npm init

步驟 2:創建 NodeJS 應用程序後,使用以下命令安裝所需的模塊:

npm install mongoose

項目結構: 項目結構將如下所示:

數據庫結構:數據庫結構如下所示,以下數據庫存在於 MongoDB 中。

示例 1:下麵的示例說明了 Mongoose Connection 的基本函數error()方法。在此示例中,我們提供了導致錯誤的錯誤字段名稱,並且我們使用異步函數來處理 Promise。

文件名:app.js

Javascript


// Require mongoose module 
const mongoose = require("mongoose"); 
  
// Set Up the Database connection 
const URI = "mongodb://localhost:27017/geeksforgeeks"; 
  
const connectionObject = mongoose.createConnection(URI, { 
    useNewUrlParser: true, 
    useUnifiedTopology: true, 
}); 
  
const studentSchema = new mongoose.Schema({ 
    name: { type: String, required: true }, 
    age: Number, 
    rollNumber: { type: Number, required: true } 
}); 
  
const StudentModel = connectionObject.model('Student', studentSchema); 
  
(async () => { 
    const result = await StudentModel.find( 
        { num: "45221" }) 
        .error(new Error("Woop !!, no such field exists")); 
    console.log(result); 
})();

運行程序的步驟:要運行應用程序,請從項目的根目錄執行以下命令:

node app.js

輸出:

(node:18236) UnhandledPromiseRejectionWarning: Error: Woop !!, no such field exists
    at D:\GeeksforGeeks\Articles\Sakshi\Mongoose Query API .prototype.error()\app.js:21:64

示例 2:下麵的示例說明了 Mongoose Connection 的基本函數error()方法。在此示例中,我們沒有向導致錯誤的 update 方法提供要更新的最新值,並且我們使用 then 和 catch 塊來處理 Promise。

文件名:app.js

Javascript


// Require mongoose module 
const mongoose = require("mongoose"); 
  
// Set Up the Database connection 
const URI = "mongodb://localhost:27017/geeksforgeeks"; 
  
const connectionObject = mongoose.createConnection(URI, { 
    useNewUrlParser: true, 
    useUnifiedTopology: true, 
}); 
  
const studentSchema = new mongoose.Schema({ 
    name: { type: String, required: true }, 
    age: Number, 
    rollNumber: { type: Number, required: true } 
}); 
  
const StudentModel = connectionObject.model('Student', studentSchema); 
  
StudentModel 
    .updateOne({ name: "45221" }) 
    .error(new Error("Please put the updated values")).then(res => { 
        console.log(res); 
    }).catch(err => console.log(err));

運行程序的步驟:要運行應用程序,請從項目的根目錄執行以下命令:

node app.js

輸出:

Error: Please put the updated values

參考:https://mongoosejs.com/docs/api/query.html#query_Query-error



相關用法


注:本文由純淨天空篩選整理自sakshio0hoj大神的英文原創作品 Mongoose Query.prototype.error() API。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。