반응형
MongoDB Shell - 이름에 마침표가 있는 액세스 컬렉션?
MongoDB 데이터베이스 중 하나에서 다음과 같은 이름의 컬렉션을 찾았습니다.my.collection
.
이름에 일리가 있음에도 불구하고 MongoDB 쉘에서 이 컬렉션에 액세스할 수 있는 방법이 있습니까?
> db.my.collection.findOne();
null
저는 그것이 정확하지 않다고 꽤 확신합니다.
대신 사용해 보십시오.
db["my.collection"].findOne();
하이픈과 동일한 문제가 발생하거나 [a-zA-Z_$][0-9a-zA-Z_$]에서 일치하지 않는 다른 이름이 발생한 경우
이 제한은 Javascript 개체 속성에 대해 유효한 이름으로 지정되어 있기 때문입니다.
컬렉션 이름이 "my.collection"인 경우
db.my .collection.하나 찾기(); // 확인
무효의
컬렉션 이름이 "my.1.collection"인 경우
db.my .1.collection.하나 찾기(); // 정상이 아님
구문 오류: 누락; 전 문
수정:
db["my.1.collection"].FindOne(); // 이제 괜찮아요
무효의
또 다른 완벽한 방법은 다음과 같습니다.
db.getCollection("_SCHEMA").find()
이름에 밑줄이 있는 경우에도 @Laura 답변에 오류가 발생합니다.
> db["_SCHEMA"].find()
2016-07-18T17:44:16.948+0200 E QUERY [thread1] TypeError: db._SCHEMA is undefined :
@(shell):1:1
코드가 정확합니다.null을 반환하면 컬렉션이 비어 있음을 의미합니다.
언급URL : https://stackoverflow.com/questions/4680873/mongodb-shell-access-collection-with-period-in-name
반응형
'programing' 카테고리의 다른 글
ESLint: TypeError: this.libOptions.parse가 함수가 아닙니다. (0) | 2023.07.05 |
---|---|
구체적인 클래스 이름을 문자열로 얻는 방법은 무엇입니까? (0) | 2023.07.05 |
NDF 파일이란? (0) | 2023.07.05 |
sql try/message rollback/commit - 롤백 후 잘못된 커밋 방지 (0) | 2023.07.05 |
Mongo DB에는 In-Memory 모드가 있습니까? (0) | 2023.07.05 |