Mongoose API 的 Mongoose SchemaType.prototype.required() 方法用於 SchemaType 對象。它允許我們在模式字段上設置驗證器。使用此方法,我們可以為 SchemaType 字段設置驗證器。讓我們通過一個例子來理解required()方法。
用法:
schemaTypeObject.required( <boolean/function/object> );
Parameters: 該方法接受兩個參數,如下所述:
- required: 它用於啟用或禁用字段所需的屬性。
- message: 它用於指定錯誤消息。
返回值:此方法返回SchemaType對象。
設置 Node.js Mongoose 模塊:
步驟 1:使用以下命令創建 Node.js 應用程序:
npm init
步驟 2:創建 NodeJS 應用程序後,使用以下命令安裝所需的模塊:
npm install mongoose
項目結構: 項目結構將如下所示:
示例 1:下麵的示例說明了 Mongoose SchemaType 的函數required()方法。在此示例中,我們定義了具有三個屬性或字段 name、age 和 rollNumber 的 StudentSchema。在最後,名字創建 StudentModel 對象時,字段是必需的並且必須具有某些值。這就是為什麽我們收到驗證錯誤,因為我們沒有提供值名字創建 StudentModel 對象時的字段。
文件名: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 }
});
const StudentModel =
connectionObject.model('Student', studentSchema);
const doc = new StudentModel({ age: 20, rollNumber: 101 });
doc.save((result => {
console.log(result)
}))
運行程序的步驟:要運行應用程序,請從項目的根目錄執行以下命令:
node app.js
輸出:
Error: Student validation failed: name: Path `name` is required.
示例 2:下麵的示例說明了 Mongoose SchemaType required() 方法的函數。在此示例中,我們定義了具有三個屬性或字段 name、age 和 rollNumber 的 StudentSchema。最後,在創建 StudentModel 對象時,name 字段和 rollNumber 字段是必需的並且強製具有某些值。
文件名: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: (() => {
return this.age >= 18
})
}
});
const StudentModel =
connectionObject.model('Student', studentSchema);
const document = new StudentModel({ name: 'Student 1',
age: 22, rollNumber: 101 });
document.save().then(document => {
console.log(document);
})
運行程序的步驟:要運行應用程序,請從項目的根目錄執行以下命令:
node app.js
輸出:
{ name: 'Student 1', age: 22, rollNumber: 101, _id: new ObjectId("63a3630fc9bec4d7e98de925"), __v: 0 }
示例 3:下麵的示例說明了 Mongoose SchemaType required() 方法的函數。在此示例中,我們定義了具有三個屬性或字段 name、age 和 rollNumber 的 StudentSchema。最後,name 字段始終是必需的,但 rollNumber 字段是必需的,並且在創建 StudentModel 對象時必須有條件地具有某些值。
文件名: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: (() => {
return this.age >= 18
})
}
});
const StudentModel =
connectionObject.model('Student', studentSchema);
const document2 =
new StudentModel({ name: 'Student 2', age: 16 });
document2.save().then(document2 => {
console.log(document2);
})
運行程序的步驟:要運行應用程序,請從項目的根目錄執行以下命令:
node app.js
輸出:
{ name: 'Student 2', age: 16, _id: new ObjectId("63a36373c69cbe92435273c0"), __v: 0 }
參考:https://mongoosejs.com/docs/api/schematype.html#schematype_SchemaType-required
相關用法
- Mongoose SchemaType.prototype.ref()用法及代碼示例
- Mongoose SchemaType.prototype.default()用法及代碼示例
- Mongoose SchemaType.prototype.immutable()用法及代碼示例
- Mongoose SchemaType.prototype.unique()用法及代碼示例
- Mongoose SchemaType.prototype.validate()用法及代碼示例
- Mongoose SchemaType.prototype.get()用法及代碼示例
- Mongoose SchemaType.prototype.text()用法及代碼示例
- Mongoose SchemaType.prototype.set()用法及代碼示例
- Mongoose SchemaType.prototype.select()用法及代碼示例
- Mongoose SchemaType.prototype.transform()用法及代碼示例
- Mongoose SchemaType.prototype.index()用法及代碼示例
- Mongoose Schema Connection.prototype.asPromise()用法及代碼示例
- Mongoose Schema Connection.prototype.dropCollection()用法及代碼示例
- Mongoose Schema.prototype.virtual()用法及代碼示例
- Mongoose Schema Connection.prototype.set()用法及代碼示例
- Mongoose Schema Connection.prototype.dropDatabase()用法及代碼示例
- Mongoose Schema.prototype.plugin()用法及代碼示例
- Mongoose Schema Connection.prototype.close()用法及代碼示例
- Mongoose Schema.prototype.static()用法及代碼示例
- Mongoose Schema Connection.prototype.useDb()用法及代碼示例
- Mongoose Schema.prototype.pre()用法及代碼示例
- Mongoose countDocuments()用法及代碼示例
- Mongoose deleteMany()用法及代碼示例
- Mongoose deleteOne()用法及代碼示例
- Mongoose estimatedDocumentCount()用法及代碼示例
注:本文由純淨天空篩選整理自sakshio0hoj大神的英文原創作品 Mongoose SchemaType.prototype.required() API。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。