Как перечислить все коллекции в оболочке Монго? - PullRequest
708 голосов
/ 15 января 2012

Как в оболочке MongoDB вывести список всех коллекций для текущей базы данных, которую я использую?

Ответы [ 21 ]

1080 голосов
/ 15 января 2012

Вы можете сделать ...

JS (оболочка):

db.getCollectionNames()

node.js:

db.listCollections()

не-JS (только оболочка):

show collections

Причина, по которой я называю это не-JS, заключается в следующем:

$ mongo prodmongo/app --eval "show collections"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
2016-10-26T19:34:34.886-0400 E QUERY    [thread1] SyntaxError: missing ; before statement @(shell eval):1:5

$ mongo prodmongo/app --eval "db.getCollectionNames()"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
[
    "Profiles",
    "Unit_Info"
]

Если вы действительно хотите этот сладкий, сладкий show collections вывод, вы можете:

$ mongo prodmongo/app --eval "db.getCollectionNames().join('\n')"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
Profiles
Unit_Info
404 голосов
/ 15 января 2012
> show collections

выведет список всех коллекций в выбранной в данный момент БД, как указано в справке командной строки (help).

251 голосов
/ 19 мая 2014

как мне перечислить все коллекции для текущей базы данных, которую я использую?

3 метода

  • show collections
  • show tables
  • db.getCollectionNames()

Для перечисления всех баз данных :

show dbs

Для ввода или использования данныхбаза данных:

use databasename

К списку всех коллекций :

show collections

Вывод:

collection1  
collection2  
system.indexes

(или)

show tables

Вывод:

collection1  
collection2  
system.indexes

(или)

db.getCollectionNames()

Вывод:

[ "collection1", "collection2", "system.indexes" ]

Для ввода или использования данной коллекции

use collectionname
51 голосов
/ 14 октября 2013

> show tables

Это дает тот же результат, что и ответ Кэмерон.

28 голосов
/ 31 октября 2013

Помимо опций, предложенных другими людьми:

show collections  //output every collection
show tables
db.getCollectionNames() //shows all collections as a list

Существует также другой способ, который может быть очень полезен, если вы хотите знать, как создавалась каждая из коллекций (например, это ограниченная коллекция с определенным размером)

db.system.namespaces.find()
20 голосов
/ 09 ноября 2013

Сначала вам нужно использовать базу данных, чтобы показать все коллекции / таблицы внутри нее.

>show dbs
users 0.56787GB
test (empty)
>db.test.help() // this will give you all the function which can be used with this db
>use users
>show tables //will show all the collection in the db
14 голосов
/ 16 апреля 2015

вы можете использовать show tables или show collections

13 голосов
/ 05 мая 2014

Попробуйте:

help // To show all help methods
show dbs  // To show all dbs
use dbname  // To select your db
show collections // To show all collections in selected db
11 голосов
/ 04 апреля 2015

Команда, используемая для отображения всей коллекции в базе данных mongoDb:

show collections 

Перед запуском команды show collection необходимо выбрать базу данных

use mydb //mydb is the name of the database being selected

Для просмотра всех баз данных вы можете использовать команду

show dbs // shows all the database names present 

Для получения дополнительной информации перейдите по этой ссылке: http://docs.mongodb.org/manual/tutorial/getting-started/

10 голосов
/ 22 декабря 2014

Если вы хотите показать все коллекции из оболочки mongodb (командная строка), используйте помощник оболочки

show collections

, который показывает все коллекции для текущей базы данных.Если вы хотите получить весь список сбора из вашего приложения, то вы можете использовать метод базы данных mongodb

db.getCollectionNames()

Для получения дополнительной информации помощник оболочки mongodb вы можете увидеть http://docs.mongodb.org/manual/reference/mongo-shell/

...