如何计算mongodb集合中的文档数量

时间:2014-11-03 17:55:35

标签: mongodb

我想知道如何计算集合中的文档数量。我尝试了以下

var value = collection.count();
&&
var value = collection.find().count()
&&
var value = collection.find().dataSize()

我总是得到方法未定义。

您能告诉我在收集中查找总文件的方法是什么。

由于 内甚

8 个答案:

答案 0 :(得分:13)

使用以下命令遍历您collection所在的数据库:

use databasename;

然后调用数据库中count()的{​​{1}}函数。

collection

然后var value = db.collection.count(); 或简称print(value)会为您提供名为value的集合中的文档计数。

参考:http://docs.mongodb.org/v2.2/tutorial/getting-started-with-the-mongo-shell/

答案 1 :(得分:8)

如果您想要集合中的文档数量,请使用返回Promise的count方法。这是一个例子:

let coll = db.collection('collection_name');
coll.count().then((count) => {
    console.log(count);
});

这假设你使用的是Mongo 3。

答案 2 :(得分:3)

只需使用

即可
      Model.count({email: 'xyz@gmail.com'}, function (err, count) {
      console.log(count);
    });

答案 3 :(得分:2)

v4.0.3 起,您可以使用它来获得更好的性能:

db.collection.countDocuments()

答案 4 :(得分:2)

单行执行Mongo shell命令以获得更好的结果。

获取mongodb中所有文档的数量

  

var documentCount = 0; db.getCollectionNames()。forEach(function(collection){documentCount ++;}); print(“ Available Documents count:” + documentCount);

输出: Private Sub KeyUp_Event(sender As Object, e As KeyEventArgs) Handles Me.KeyUp 'The barcode reader works like a keyboard, each character triggers the KeyUp event ' A static variable concatenates each character until it encounters character 13 ' Static Barcode As String If e.KeyValue = 13 Then do_something(Barcode) Barcode = "" Exit Sub End If Barcode &= Chr(e.KeyValue) End Sub

要获取集合中所有文档结果的数量

  

db.getCollectionNames()。forEach(function(collection){resultCount = db [collection] .count(); print(“” + collection +“的结果计数:” + resultCount);});

输出:

Available Documents count: 9

获取集合中文档的所有数据大小

  

db.getCollectionNames()。forEach(function(collection){size = db [collection] .dataSize(); print(“ dataSize for” + collection +“:” + size);});

输出:

Results count for ADDRESS: 250 
Results count for APPLICATION_DEVELOPER: 950
Results count for COUNTRY: 10
Results count for DATABASE_DEVELOPER: 1
Results count for EMPLOYEE: 4500
Results count for FULL_STACK_DEVELOPER: 2000
Results count for PHONE_NUMBER: 110
Results count for STATE: 0
Results count for QA_DEVELOPER: 100

答案 5 :(得分:0)

db.collection.count(function(err,countData){

//you will get the count of number of documents in mongodb collection in the variable 
countdata

});

代替收集,提供你的mongodb集合名称

答案 6 :(得分:0)

通过MongoDB控制台,您可以查看集合中的文档数。

1。转到mongoDB控制台并发出命令“ use databasename”。   要启动控制台,请转到安装MongoDB的bin文件夹,然后单击mongo.exe。   启动mongoDB控制台 例如,如果数据库是myDB,则命令为“ 使用myDB

2。执行此命令db.collection.count()   集合类似于RDBMS中的表。 例如,如果您的集合名称为myCollection,则命令为 db.myCollection.count();

此命令将在控制台中打印集合的大小。

答案 7 :(得分:0)

db.collection('collection-name').count()现在已弃用。 现在应该使用countDocuments()estimatedDocumentCount()代替count()。 这是一个示例:

`db.collection('collection-name').countDocuments().then((docs) =>{
console.log('Number of documents are', docs);
    };`

要了解更多信息,请阅读文档:

https://docs.mongodb.com/manual/reference/method/db.collection.countDocuments/

https://docs.mongodb.com/manual/reference/method/db.collection.estimatedDocumentCount/