В оболочке MongoDB, как мне отобразить все коллекции для текущей базы данных, которые я использую?
Вы можете сделать...
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
show collections
чисто
> show collections
отобразит все коллекции в текущей выбранной БД, как указано в справке по командной строке (help
).
content 1145.586MB / 1506.855MB
.
как мне отобразить все коллекции для текущей базы данных, которые я использую?
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
show tables
весьма полезно для тех, кто приходит из реляционного dbms-фона.
use
это использовать базу данных, ничего общего с коллекциями
> show tables
Он дает тот же результат, что и ответ Камерона.
Помимо вариантов, предложенных другими людьми:
show collections //output every collection
show tables
db.getCollectionNames() //shows all collections as a list
Существует и другой способ, который может быть очень полезен, если вы хотите знать, как создавалась каждая из коллекций (например, это ограниченная коллекция с определенным размером)
db.system.namespaces.find()
Сначала вам нужно использовать базу данных, чтобы показать все коллекции/таблицы внутри нее.
>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
вы можете использовать show tables
или show collections
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
Команда, используемая для отображения всей коллекции в базе данных 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/
Если вы хотите показать все коллекции из оболочки mongodb (командной строки), используйте shell helper
show collections
который отображает все коллекции текущей базы данных. Если вы хотите получить весь список коллекций из своего приложения, вы можете использовать метод базы данных mongodb
db.getCollectionNames()
Для получения дополнительной информации о помощнике оболочки mongodb вы можете видеть http://docs.mongodb.org/manual/reference/mongo-shell/
Следующие команды на 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);
});
Между тремя командами и этим фрагментом вы должны быть хорошо охвачены!
Я использую:
> show collections
но другой вариант использует метод getCollectionNames(), который возвращает массив, содержащий все коллекции в существующей базе данных.
db.getCollectionNames()
Я думаю, что одним из самых больших недоразумений является разница между тем, что вы можете сделать с 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'))})"
Для переключения в базу данных. от:- используйте {your_database_name} пример:
use friends
где друзья - это имя вашей базы данных.
тогда напишите: -
db.getCollectionNames()
show collections
это даст вам имя коллекций.
Вкл >= 2.x, вы можете сделать
db.listCollections()
В 1.x вы можете сделать
db.getCollectionNames()
Список всех коллекций из оболочки Монго:
- db.getCollectionNames()
- показать коллекции
- показать таблицы
Примечание: Коллекции будут показывать из текущей базы данных, где вы находитесь в данный момент
показать коллекции
эта команда обычно работает на оболочке mongo после того, как вы переключились на базу данных.
Я использую 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/
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 } )
используйте следующую команду из оболочки Монго: - показать коллекции
Использование - показать коллекции Это работает на оболочке манго.
Для развертываний MongoDB 3.0 с использованием механизма хранения WiredTiger, если вы запускаете
db.getCollectionNames()
из версии оболочки монго до версии 3.0 или версии драйвера до версии 3.0, совместимой с версией,db.getCollectionNames()
не вернет никаких данных, даже если есть существующих коллекций.
Для получения дополнительной информации см. this
> show dbs
anuradhfirst 0.000GB
local 0.000GB
> use anuradhfirst
switched to db anuradhfirst
> show collections
record
mongo
, это запустит соединение.show dbs
, это покажет вам всю доступную/доступную базу данных.database
, который вы хотите. Наверху это anuradhfirst
, затем запустите use anuradhfirst
.this переключится на нужную базу данных.show collections
, это отобразит все collections
внутри выбранной вами базы данных.