Mongoose Document Model.prototype.discriminators函数
Mongoose API的Model.prototype.discriminators属性用于返回模型的已注册的鉴别器。
语法:
Model_Name.discriminators
返回值: Model.prototype.discriminators属性返回模型的注册判别器。
设置Node.js应用程序:
步骤1: 使用以下命令创建一个Node.js应用程序:
npm init
步骤2:
在创建NodeJS应用程序后,使用以下命令安装所需模块:
npm install mongoose
项目结构: 项目的结构如下所示:
示例1: 在这个示例中,我们使用mongoose建立了一个数据库连接,并定义了一个模型,用户模式(userSchema)包含了两个字段或列“name”和“age”。最后,我们在User模型上使用了discriminators属性,它会返回模型的已注册的discriminators。
- app.js: 将下面的代码写入app.js文件中:
// Require mongoose module
const mongoose = require('mongoose');
// Set Up the Database connection
mongoose.connect(
'mongodb://localhost:27017/geeksforgeeks', {
useNewUrlParser: true,
useUnifiedTopology: true
})
const userSchema = new mongoose.Schema(
{ name: String, age: Number }
)
// Defining userSchema model
const User = mongoose.model('User', userSchema);
// Setting the discriminator
const ClickedLinkEvent = User.discriminator('ClickedLink',
new mongoose.Schema({ url: String }));
// Getting the discriminator
const output = User.discriminators
console.log("Discriminators is", output)
运行程序的步骤: 在项目的根目录下执行以下命令来运行应用:
node app.js
输出:
Discriminators is { ClickedLink: Model { ClickedLink } }
示例2: 在这个示例中,我们使用mongoose建立了一个数据库连接,并基于studentSchema定义了一个模型,其中包含三个列或字段:“name”、“father_name”和“mother_name”。最后,我们在Student模型上使用了base属性,它将返回模型的判别器。
- app.js: 将以下代码写入app.js文件中:
// Require mongoose module
const mongoose = require('mongoose');
// Set Up the Database connection
mongoose.connect(
'mongodb://localhost:27017/geeksforgeeks', {
useNewUrlParser: true,
useUnifiedTopology: true
})
const studentSchema = new mongoose.Schema({
name: String,
father_name: String,
mother_name: String
})
// Defining studentSchema model
const Student = mongoose.model('Student', studentSchema);
// Setting the Discriminators
const ParentEvent = Student.discriminator(
'Parent',
new mongoose.Schema({ parentName: String })
);
// Getting the Discriminators
const output = Student.discriminators
console.log("Discriminators is:", output)
运行程序的步骤: 从项目的根目录执行以下命令来运行应用程序:
node app.js
输出:
Discriminators is: { Parent: Model { Parent } }
参考: https://mongoosejs.com/docs/api/model.html#model_Model-discriminators