Как перечислить все коллекции в оболочке mongo?

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

Ответ 1

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

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

Ответ 2

> show collections

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

Ответ 3

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

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

Ответ 4

> show tables

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

Ответ 5

Помимо вариантов, предложенных другими людьми:

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

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

db.system.namespaces.find()

Ответ 6

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

>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

Ответ 7

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

Ответ 8

Try:

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

Ответ 9

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

show collections 

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

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

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

show collections

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

db.getCollectionNames()

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

Ответ 11

Следующие команды на mongoshell являются общими

show databases
show collections

Кроме того,

show dbs
use mydb
db.getCollectionNames()

Иногда полезно видеть все коллекции, а также индексы в коллекциях, которые являются частью общего пространства имен:

Вот как вы это сделаете:

 db.getCollectionNames().forEach(function(collection) {
indexes = db[collection].getIndexes();
print("Indexes for " + collection + ":");
printjson(indexes);
});

Между тремя командами и этим фрагментом вы должны быть хорошо охвачены!

Ответ 12

Я использую:

 > show collections

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

db.getCollectionNames()

Ответ 13

Я думаю, что одним из самых больших недоразумений является разница между тем, что вы можете сделать с mongo (или интерактивной/гибридной оболочкой) по сравнению с mongo --eval (или чистой оболочкой javascript). Я поддерживаю эти полезные документы:

Вот пример сценариев, которые вы могли бы сделать с помощью команд show:

# List all databases and the collections in them

mongo --eval "
    db.getMongo().getDBNames().forEach(
        function(v, i){
            print(
                v + '\n\t' +
                db.getSiblingDB(v).getCollectionNames().join('\n\t')
            )
        }
    )
"

Примечание. Это работает очень хорошо, как oneliner. (Но выглядит ужасно на StackOverflow.)

mongo --eval "db.getMongo().getDBNames().forEach(function(v, i){print(v+'\n\t'+db.getSiblingDB(v).getCollectionNames().join('\n\t'))})"

Ответ 14

Вкл >= 2.x, вы можете сделать

db.listCollections()

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

db.getCollectionNames()

Ответ 15

Для переключения в базу данных. от:- используйте {your_database_name} пример:

use friends

где друзья - это имя вашей базы данных.

тогда напишите: -

db.getCollectionNames()
show collections

это даст вам имя коллекций.

Ответ 16

показать коллекции

эта команда обычно работает на оболочке mongo после того, как вы переключились на базу данных.

Ответ 17

Список всех коллекций из оболочки Монго:

  • db.getCollectionNames()
  • показать коллекции
  • показать таблицы

Примечание: Коллекции будут показывать из текущей базы данных, где вы находитесь в данный момент

Ответ 18

> show dbs        
anuradhfirst  0.000GB
local         0.000GB
> use anuradhfirst
switched to db anuradhfirst
> show collections
record
  • подключиться к базе данных mongo с помощью mongo, это запустит соединение.
  • затем запустите команду show dbs, это покажет вам всю доступную/доступную базу данных.
  • затем выберите database, который вы хотите. Наверху это anuradhfirst, затем запустите use anuradhfirst.this переключится на нужную базу данных.
  • затем запустите команду show collections, это отобразит все collections внутри выбранной вами базы данных.

Ответ 19

Использование - показать коллекции Это работает на оболочке манго.

Ответ 20

Для развертываний MongoDB 3.0 с использованием механизма хранения WiredTiger, если вы запускаете db.getCollectionNames() из версии оболочки монго до версии 3.0 или версии драйвера до версии 3.0, совместимой с версией, db.getCollectionNames() не вернет никаких данных, даже если есть существующих коллекций.

Для получения дополнительной информации см. this

Ответ 21

используйте следующую команду из оболочки Монго: - показать коллекции

Ответ 22

 1. show collections; //Display all collection
 2. show tables     //Display all collection
 3. db.getCollectionNames();   // Retuen array of collection Example :[ "orders", "system.profile" ]

Подробная информация о каждой коллекции

db.runCommand( { listCollections: 1.0, authorizedCollections: true, nameOnly: true } )
  • Для пользователей с требуемым доступом (привилегиями, которые предоставляют действие listCollections для базы данных), метод перечисляет имена всех коллекций для базы данных.
  • Для пользователей без требуемого доступа метод перечисляет только коллекции, для которых у пользователей есть привилегии. Например, если пользователь найдет определенную коллекцию в базе данных, метод вернет только эту коллекцию.

Ответ 23

Я использую listCollections (поддерживает mongo 3.0 и выше) для этой цели.

пример:

db.runCommand({ listCollections: 1, filter: {}, nameOnly: true });

Чтобы получить больше информации, как индекс коллекции:

db.runCommand({ listCollections: 1, filter: {}, nameOnly: false });

Чтобы напечатать только имена коллекций:

db.runCommand({ listCollections: 1, filter: {}, nameOnly: true }).cursor.firstBatch.forEach(v => {print(v.name)})

Я чувствую, что это обеспечивает большую гибкость.

читать больше: https://docs.mongodb.com/manual/reference/command/listCollections/