当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Mongoose Query.prototype.estimatedDocumentCount()用法及代码示例


estimatedDocumentCount() 方法是 Mongoose Query API 的一部分,用于估计集合中的文档数量。它使用元数据提供文档的近似计数,这比对集合中的所有文档进行计数要快。

用法:

const MyModel = mongoose.model('MyModel', mySchema);
MyModel.estimatedDocumentCount()
    .then((count) => {
        ...
    })
    .catch((err) => {
        console.error(err);
    });

Mongoose 模块的安装:

步骤1:您可以使用此命令安装此软件包。

npm install mongoose

步骤2:安装mongoose模块后,您可以使用命令在命令提示符中检查您的mongoose版本。

npm version mongoose

步骤3:之后,您可以创建一个文件夹并添加一个文件,例如index.js,要运行该文件,您需要运行以下命令。

node index.js

项目结构: 项目结构将如下所示:

示例 1:在此示例中,estimatedDocumentCount() 用于获取 shopDB 集合中产品文档的大致数量。产品模型是使用具有四个字段的模式定义的:id、name、price 和 stock。在 Product 模型上调用 estimatedDocumentCount() 方法来获取文档的大致数量,并将其记录到控制台。

  • Index.js

Javascript


const mongoose = require("mongoose"); 
  
mongoose.set("strictQuery", true); 
mongoose 
    .connect("mongodb://localhost:27017/shopDB") 
    .then(() => { 
        const products = mongoose.model("Products", { 
            id: Number, 
            name: String, 
            price: Number, 
            stock: Number, 
        }); 
  
        products 
            .estimatedDocumentCount() 
            .then((count) => { 
                console.log( 
`There are approximately ${count} products in the collection.` 
                ); 
                mongoose.connection.close(); 
            }) 
            .catch((err) => console.error(err)); 
    }) 
    .catch((err) => console.error(err)); 
//Code contributed by Anurag Sharma

运行应用程序的步骤:使用以下命令运行index.js 文件:

步骤 1:确保已使用以下命令安装 mongoose 模块:

npm install mongoose

步骤2:下面是函数执行之前数据库中的示例数据,您可以使用任何GUI工具或终端来查看数据库,就像我们使用MongoDB指南针GUI工具一样,如下所示:

步骤 3:使用以下命令运行 index.js 文件:

node index.js

输出:

示例 2:在此示例中,estimatedDocumentCount() 用于获取 cseSociety 集合中 User 文档的大致数量。

Javascript


const mongoose = require("mongoose"); 
  
mongoose.set("strictQuery", true); 
mongoose 
    .connect("mongodb://localhost:27017/cseSociety") 
    .then(() => { 
        const users = mongoose.model("Users", { 
            fullName: String, 
            userName: String, 
            email: String, 
            phone: Number, 
        }); 
  
        users 
            .estimatedDocumentCount() 
            .then((count) => { 
                console.log( 
`There are approximately ${count} users in the collection.` 
                ); 
                mongoose.connection.close(); 
            }) 
            .catch((err) => console.error(err)); 
    }) 
    .catch((err) => console.error(err)); 
//Code contributed by Anurag Sharma

运行应用程序的步骤:使用以下命令运行index.js 文件:

步骤 1:在此示例中,我们使用以下文档:

步骤 3:使用以下命令运行 index.js 文件:

node index.js

输出:

参考:https://mongoosejs.com/docs/api/model.html#model_Model.estimatedDocumentCount



相关用法


注:本文由纯净天空筛选整理自ianurag大神的英文原创作品 Mongoose Query.prototype.estimatedDocumentCount() API。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。