當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Mongoose Document Model.countDocuments()用法及代碼示例


Mongoose API 的 Model.countDocuments() 方法用於計算集合中存在的文檔數量。 countDocument() 方法根據匹配過濾器計算集合中文檔的數量。

Model.countDocuments()方法接受四個參數:

  • filter: 它是一個過濾掉需要更新的文檔的對象。
  • callback:它是一個回調函數,一旦執行完成就會運行。

返回類型:Model.create() 函數返回一個承諾。

設置 Node.js 應用程序:

步驟 1:使用以下命令創建 Node.js 應用程序:

npm init

步驟 2:創建 NodeJS 應用程序後,使用以下命令安裝所需的模塊:

npm install mongoose

項目結構: 項目結構將如下所示:

數據庫結構:數據庫結構如下所示,集合中存在以下文檔。

示例 1:在此示例中,我們使用 mongoose 建立了數據庫連接,並通過 customerSchema 定義了模型,具有兩列 “name” 和 “orderCount”。最後,我們使用 countDocuments() 方法來獲取集合中文檔的計數,其中 “orderCount” 的值為 10。

  • 應用程序.js:在app.js 文件中寫入以下代碼:

Javascript


// Require mongoose module 
const mongoose = require("mongoose"); 
  
// Set Up the Database connection 
mongoose.connect( 
 "mongodb://localhost:27017/geeksforgeeks", { 
 useNewUrlParser: true, 
 useUnifiedTopology: true, 
}); 
  
// Defining customerSchema schema 
const customerSchema = new mongoose.Schema({ 
  name: String, 
  orderCount: Number, 
}); 
  
// Defining customerSchema model 
const Customer = mongoose.model("Customer", customerSchema); 
  
// Calling countDocuments() on Customer model 
Customer.countDocuments({ orderCount: 10 },  
 function (err, count) { 
 console.log("there are %d documents with orderCount 
 value as 10", count); 
});

運行程序的步驟: 要運行應用程序,請從項目的根目錄執行以下命令:

node app.js

輸出:

在控製台上:

there are 3 documents with orderCount value as 10

您可以使用任何 GUI 工具以圖形形式表示數據庫。在這裏,我使用 Robo3T GUI 工具進行圖形表示。

示例 2:在此示例中,我們使用 mongoose 建立了數據庫連接,並通過 customerSchema 定義了模型,具有兩列 “name” 和 “orderCount”。最後,我們使用countDocuments()方法來獲取集合中文檔的計數,其中“name”的值為“Rahul”。

  • 應用程序.js:在app.js 文件中寫入以下代碼:

Javascript


// Require mongoose module 
const mongoose = require("mongoose"); 
  
// Set Up the Database connection 
mongoose.connect("mongodb://localhost:27017/geeksforgeeks", { 
  useNewUrlParser: true, 
  useUnifiedTopology: true, 
}); 
  
// Defining customerSchema schema 
const customerSchema = new mongoose.Schema({ 
  name: String, 
  orderCount: Number, 
}); 
  
// Defining customerSchema model 
const Customer = mongoose.model( 
  "Customer", customerSchema); 
Customer.countDocuments({ name: "Rahul" }, 
 function (err, count) { 
 console.log("there are %d documents  
 with name value as Rahul", count); 
});

運行程序的步驟: 要運行應用程序,請從項目的根目錄執行以下命令:

node app.js

輸出:

在控製台上:

there are 1 documents with name value as Rahul

您可以使用任何 GUI 工具以圖形形式表示數據庫。在這裏,我使用 Robo3T GUI 工具進行圖形表示。

參考:https://mongoosejs.com/docs/api/model.html#model_Model-countDocuments



相關用法


注:本文由純淨天空篩選整理自kartikmukati大神的英文原創作品 Mongoose Document Model.countDocuments() API。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。