Mongoose document Model.count()函数
Mongoose API的Model.count()方法用于根据给定的筛选条件计算集合中文档的数量。它返回查询对象和集合中存在的文档计数。
语法:
Model.count()
参数: Model.count() 方法接受两个参数:
- filter: 它是一个用于筛选文档并基于条件计算集合中文档数量的对象。
- callback: 它是一个回调函数,会在执行完成后运行。
返回值: Model.count() 函数返回一个查询对象和 Promise。
设置Node.js应用:
步骤1: 使用以下命令创建一个Node.js应用:
npm init
步骤2: 创建NodeJS应用程序后,使用以下命令安装所需的模块:
npm install mongoose
项目结构: 项目的结构将是这样的:
数据库结构: 数据库的结构将如下所示,集合中包含以下文档。
示例1: 在这个示例中,我们使用mongoose建立了一个数据库连接,并定义了一个userSchema的模型,它有两个列或字段“name”和“age”。最后,我们在User模型上使用 count() 方法来计算满足筛选条件的集合中的文档数量。
- 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);
User.count({ age: 20 }).then(count => {
console.log(count)
})
运行程序的步骤: 从项目的根目录下执行以下命令来运行应用程序:
node app.js
输出:
2
示例2: 在这个示例中,我们得到的输出是一个包含元数据信息的查询对象。
- 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);
const output = User.count({ age: 20 })
console.log(output)
运行程序的步骤: 从项目的根目录执行以下命令来运行应用程序:
node app.js
输出:
参考: https://mongoosejs.com/docs/api/model.html#model_Model-count