mongodb: 数据库中的集合数量 - 本机驱动程序

mongodb: number of collections in database - native driver

我正在使用 mongodb 本机驱动程序 v3.2.3 并尝试查询当前数据库中有多少集合。我以为会是

db.listCollections()

但这似乎 return 不算数。

那个函数 returns 一个游标,然后你可以在上面使用 'forEach()'。像这样:

db.listCollections({}, {nameOnly: true}).forEach((_col) => {
  console.log(_col.name)
})

然后您必须为每个集合增加一个计数器,或者将每个集合名称推送到一个数组,然后检查它的长度。


另一种快速获取集合计数的方法是使用 'collections()' 函数,如下所示:

db.collections({}, (error, collections) => {
  console.log(collections.length)
})

listCollections source collections source

您可以通过stats方法获取数据库的集合计数:

let stats = await db.stats();
console.log(stats.collections);