Mongoose Schema Connection.prototype.models函数
Mongoose Schema API Connection.prototype.models 是Mongoose API中用于Connection对象的。它允许我们获取使用connection.model()在特定连接对象上定义的所有模型的列表。让我们通过一个示例来了解 models 属性。
语法:
connectionObject.models;
参数: 此属性不接受任何参数。
返回值: 它返回使用连接对象定义的所有模型的列表。
设置Node.js应用程序:
步骤1: 使用以下命令创建一个Node.js应用程序:
npm init
步骤2: 在创建NodeJS应用程序后,使用以下命令安装所需模块:
npm install mongoose
项目结构: 项目结构将如下所示:
示例1: 在这个示例中,我们使用mongoose建立了一个数据库连接,并在cricketerSchema上定义了一个模型,它有三个列或字段”_id”、”name”和”nationality”。最后,我们通过连接对象上的models属性来访问使用特定连接对象定义的所有模型的详细信息。
文件名:app.js
// Require mongoose module
const mongoose = require("mongoose");
// Set Up the Database connection
const connectionObject =
mongoose.createConnection(
"mongodb://localhost:27017/geeksforgeeks", {
useNewUrlParser: true,
useUnifiedTopology: true,
});
const cricketerSchema = new mongoose.Schema({
_id: Number,
name: String,
nationality: String
});
const Cricketer =
connectionObject.model('Cricketer', cricketerSchema);
console.log(connectionObject.models);
const modelsArray = Object.keys(connectionObject.models);
console.log(modelsArray)
运行程序的步骤: 在项目的根目录下执行以下命令来运行应用程序:
node app.js
输出:
{ Cricketer: Model { Cricketer } }
[ 'Cricketer' ]
示例2: 在这个示例中,我们展示了连接对象上的models属性的功能性。
文件名:app.js
// Require mongoose module
const mongoose = require("mongoose");
// Set Up the Database connection
const connectionObject =
mongoose.createConnection(
"mongodb://localhost:27017/geeksforgeeks", {
useNewUrlParser: true,
useUnifiedTopology: true,
});
const Cricketer =
connectionObject.model('Cricketer', new mongoose.Schema({
_id: Number,
name: String,
nationality: String
}));
const IPLTeams =
connectionObject.model('IPLTeam', new mongoose.Schema({
name: String,
nationality: String,
iplTeam: String
}));
console.log(connectionObject.models);
console.log(Object.keys(connectionObject.models).length)
console.log(Object.keys(connectionObject.models))
运行程序的步骤: 从项目的根目录下执行以下命令来运行应用程序:
node app.js
输出:
{ Cricketer: Model { Cricketer }, IPLTeam: Model { IPLTeam } }
2
[ 'Cricketer', 'IPLTeam' ]
参考: https://mongoosejs.com/docs/api/connection.html#connection_Connection-models