我想知道如何计算集合中的文档数量。我尝试了以下
var value = collection.count();
&&
var value = collection.find().count()
&&
var value = collection.find().dataSize()
我总是得到未定义的方法。
你能告诉我用什么方法来查找集合中的总文档吗?
使用以下命令遍历到您的
collection
所在的数据库:
use databasename;
然后在数据库中的
count()
上调用 collection
函数。
var value = db.collection.count();
然后
print(value)
或简单地 value
,将为您提供名为 collection
的集合中的文档计数。
参考:http://docs.mongodb.org/v2.2/tutorial/getting-started-with-the-mongo-shell/
如果您想要集合中的文档数量,请使用
count
方法,该方法返回 Promise。这是一个例子:
let coll = db.collection('collection_name');
coll.count().then((count) => {
console.log(count);
});
这假设您使用的是 Mongo 3。
编辑:在 4.0.3 版本中,
count
已弃用。使用 countDocument 来实现目标。
自 v4.0.3 起,您可以使用以获得更好的性能:
db.collection.countDocuments()
单行执行 Mongo shell 命令以获得更好的结果。
获取 mongodb 中所有文档的计数
var 文档计数 = 0; db.getCollectionNames().forEach(function(collection) { documentCount++; }); print("可用文档数:"+ documentCount);
输出:
Available Documents count: 9
获取集合中文档结果的所有计数
db.getCollectionNames().forEach(function(collection) { resultCount = db[collection].count(); print("结果计数 " + collection + ": "+ resultCount); });
输出:
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
获取集合中文档的所有数据大小
db.getCollectionNames().forEach(function(collection) { size = db[collection].dataSize(); print("dataSize for " + collection + ":"+ size); });
输出:
dataSize for ADDRESS: 250
dataSize for APPLICATION_DEVELOPER: 950
dataSize for COUNTRY: 10
dataSize for DATABASE_DEVELOPER: 1
dataSize for EMPLOYEE: 4500
dataSize for FULL_STACK_DEVELOPER: 2000
dataSize for PHONE_NUMBER: 110
dataSize for STATE: 0
dataSize for QA_DEVELOPER: 100
您可以使用
Model.count({email: '[email protected]'}, function (err, count) {
console.log(count);
});
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/
通过 MongoDB Console 您可以查看集合中的文档数量。
1.转到 mongoDB 控制台并发出命令“use databasename”。 要启动控制台,请转到安装 MongoDB 的 bin 文件夹,然后单击 mongo.exe 启动 mongoDB 控制台 例如,如果数据库是 myDB,则命令是“use myDB”
2.执行这个命令db.collection.count() 集合就像 RDBMS 中的表。 例如,如果您的集合名称是 myCollection 那么命令是 db.myCollection.count();
此命令将在控制台中打印集合的大小。
db.collection.count(function(err,countData){
//you will get the count of number of documents in mongodb collection in the variable
countdata
});
在集合位置给出您的 mongodb 集合名称
要计算 MongoDB 集合中的文档数量,请使用:
准确计数:
var value = db.getCollection("CollectionName").count();