mongodb: количество коллекций в базе данных - собственный драйвер - PullRequest
1 голос
/ 18 мая 2019

Я использую собственный драйвер mongodb v3.2.3 и пытаюсь запросить, сколько коллекций в текущей базе данных. Я думал, что это будет

db.listCollections()

Но это, похоже, не возвращает счет.

Ответы [ 2 ]

1 голос
/ 19 мая 2019

Количество коллекций базы данных можно получить с помощью метода stats:

let stats = await db.stats();
console.log(stats.collections);
0 голосов
/ 18 мая 2019

Эта функция возвращает курсор, который затем можно использовать для forEach ().Например:

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

Затем вам нужно будет увеличить счетчик для каждой коллекции или поместить каждое имя коллекции в массив, а затем проверить его длину.


Другой способбыстрое получение количества коллекций будет означать использование функции «collection ()» следующим образом:

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

listCollections source источник коллекций

...