Mongoose API 的 Mongoose Document API Model.prototype.model() 方法用于文档模型。它允许获取模型实例。我们可以在任何模型对象上调用此方法,并通过向方法参数提供另一个模型名称,我们将获得该模型的新实例。让我们通过一个例子来理解model()方法。
用法:
document.model( model );
Parameters: 该方法接受单个参数,如下所述:
- model:它用于指定模型的名称。
返回值:该方法返回模型的新实例,我们将其作为参数发送给该方法。
设置 Node.js 应用程序:
步骤 1:使用以下命令创建 Node.js 应用程序:
npm init
步骤 2:创建 NodeJS 应用程序后,使用以下命令安装所需的模块:
npm install mongoose
项目结构: 项目结构将如下所示:
数据库结构:数据库结构如下所示,集合中存在以下文档。
示例 1:在此示例中,我们将说明以下函数model()方法。我们定义了一个虚拟模型,使用对象虚拟模型我们正在创建新实例顾客模型并最后从数据库中获取一条记录。
文件名: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 Customer = connectionObject.model(
"Customer",
new mongoose.Schema({
name: String,
address: String,
orderNumber: Number,
})
);
const DUMMYMODEL = connectionObject.model(
"DUMMYMODEL",
new mongoose.Schema({
name: String,
})
);
const doc = new DUMMYMODEL();
doc.$model("Customer").find({ name: "Chintu" }).then(res => {
console.log(res);
}).catch(err => {
console.log(err);
});
运行程序的步骤:要运行应用程序,请从项目的根目录执行以下命令:
node app.js
输出:
[ { _id: new ObjectId("639ede899fdf57759087a655"), name: 'Chintu', address: 'IND', orderNumber: 9, __v: 0 } ]
示例 2:在此示例中,我们将说明以下函数model()方法。最后,我们将新实例化的对象与原始对象进行比较顾客模型。
文件名: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 Customer = connectionObject.model(
"Customer",
new mongoose.Schema({
name: String,
address: String,
orderNumber: Number,
})
);
const DUMMYMODEL = connectionObject.model(
"DUMMYMODEL",
new mongoose.Schema({
name: String,
})
);
const doc = new DUMMYMODEL();
const newInstance = doc.$model("Customer")
console.log(newInstance.modelName === Customer.modelName);
运行程序的步骤:要运行应用程序,请从项目的根目录执行以下命令:
node app.js
输出:
true
参考: https://mongoosejs.com/docs/api/model.html#model_Model-model
相关用法
- Mongoose Document Model.prototype.deleteOne()用法及代码示例
- Mongoose Document Model.prototype.remove()用法及代码示例
- Mongoose Document Model.prototype.save()用法及代码示例
- Mongoose Document Model.populate()用法及代码示例
- Mongoose Document Model.create()用法及代码示例
- Mongoose Document Model.deleteOne()用法及代码示例
- Mongoose Document Model.updateOne()用法及代码示例
- Mongoose Document Model.countDocuments()用法及代码示例
- Mongoose Document Model.replaceOne()用法及代码示例
- Mongoose Document Model.inspect()用法及代码示例
- Mongoose Document Model.listIndexes()用法及代码示例
- Mongoose Document Model.estimatedDocumentCount()用法及代码示例
- Mongoose Document Model.updateMany()用法及代码示例
- Mongoose Document Model.where()用法及代码示例
- Mongoose Document Model.init()用法及代码示例
- Mongoose Document Model.remove()用法及代码示例
- Mongoose Document Model.deleteMany()用法及代码示例
- Mongoose Document Model.exists()用法及代码示例
- Mongoose Document Model.insertMany()用法及代码示例
- Mongoose Document Model.count()用法及代码示例
- Mongoose Document Model.bulkWrite()用法及代码示例
- Mongoose Document prototype.getChanges()用法及代码示例
- Mongoose Document prototype.unmarkModified()用法及代码示例
- Mongoose Document prototype.replaceOne()用法及代码示例
- Mongoose Document prototype.get()用法及代码示例
注:本文由纯净天空筛选整理自kartikmukati大神的英文原创作品 Mongoose Document Model.prototype.model() API。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。