답변:
넌 할 수있어...
자바 스크립트 (쉘) :
db.getCollectionNames()
Node.js :
db.listCollections()
비 JavaScript (쉘만 해당) :
show collections
내가 비 JavaScript라고 부르는 이유는 다음과 같습니다.
$ 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
db.listCollections()
대답 여기에 표시된 녹색 체크로? 그렇지 않으면 사람들은이 대답에 올 때 내가 몇 번이나했던 같은 실수를하고있다 - 그리고 사용하려고 시도 db.getCollectionNames
하고 오류가 돌아옵니다 db.collectionNames is not a function
.
db.getCollectionNames()
여전히 셸에 대한 정답입니다.
> show collections
명령 행 도움말 ( help
)에 설명 된대로 현재 선택된 DB의 모든 모음을 나열합니다 .
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
.
MongoDB 셸 (명령 줄)의 모든 모음을 표시하려면 셸 도우미를 사용하십시오.
show collections
현재 데이터베이스의 모든 컬렉션을 보여줍니다. 애플리케이션에서 모든 콜렉션 목록을 가져 오려면 MongoDB 데이터베이스 메소드를 사용할 수 있습니다
db.getCollectionNames()
MongoDB 쉘 헬퍼에 대한 자세한 정보는 mongo
쉘 빠른 참조를 참조하십시오 .
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);
});
세 가지 명령과이 스 니펫 사이에 잘 설명되어 있습니다!
가장 큰 혼란 중 하나는 당신이 할 수있는 것 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')
)
}
)
"
참고 : 그것은 실제로 하나의 라이너로 잘 작동합니다. (그러나 스택 오버플로에서는 끔찍한 것처럼 보입니다.)
mongo --eval "db.getMongo().getDBNames().forEach(function(v, i){print(v+'\n\t'+db.getSiblingDB(v).getCollectionNames().join('\n\t'))})"
> = 2.x에서는 할 수 있습니다
db.listCollections()
1.x에서는 할 수 있습니다
db.getCollectionNames()
db.getCollectionNames()
얻을 [ "users" ]
수 있습니다. 내가 시도 db.listCollections()
하면 결과는 다음과 같습니다[thread1] TypeError: db.listCollections is not a function : @(shell):1:1
mongo
쉘 에서 모든 콜렉션을 나열하십시오 .
- db.getCollectionNames ()
- 컬렉션 표시
- 테이블 표시
참고 : 컬렉션은 당신이에 현재 데이터베이스에서 보여줍니다 현재
데이터베이스로 전환합니다.
으로:
{your_database_name} 예를 사용하십시오 .
use friends
where friends
는 데이터베이스의 이름입니다.
그런 다음 다음을 작성하십시오.
db.getCollectionNames()
show collections
컬렉션 이름을 알려줍니다.
> show dbs
anuradhfirst 0.000GB
local 0.000GB
> use anuradhfirst
switched to db anuradhfirst
> show collections
record
mongo
. 연결이 시작됩니다.show dbs
명령 을 실행하십시오 . 모든 종료 / 사용 가능한 데이터베이스가 표시됩니다.database
. 위의 내용은 anuradhfirst
입니다. 그런 다음를 실행하십시오 use anuradhfirst
. 원하는 데이터베이스로 전환됩니다.show collections
명령 을 실행하십시오 . collections
선택한 데이터베이스 내부의 모든 내용이 표시 됩니다.컬렉션 표시
이 명령은 일반적으로 데이터베이스로 전환 한 후 MongoDB 쉘에서 작동합니다.
show collections
또는
show tables
또는
db.getCollectionNames();
내가 사용 listCollections
이 목적을 위해 (지원 MongoDB를 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)})
이것이 더 많은 유연성을 제공한다고 생각합니다.
더 읽기 : listCollections
1. show collections; // Display all collections
2. show tables // Display all collections
3. db.getCollectionNames(); // Return array of collection. Example :[ "orders", "system.profile" ]
모든 컬렉션에 대한 자세한 정보 :
db.runCommand( { listCollections: 1.0, authorizedCollections: true, nameOnly: true } )
검색 문자열을 기반으로 컬렉션 목록을 나열합니다.
db.getCollectionNames().filter(function (CollectionName) { return /<Search String>/.test(CollectionName) })
예 : 이름에 "import"가있는 모든 컬렉션을 찾습니다
db.getCollectionNames().filter(function (CollectionName) { return /import/.test(CollectionName) })