Mongorestore에서 "db/collection.bson" 파일을 사용하여 수행할 작업을 알 수 없습니다. 건너뛰기
mongodb를 2.0에서 3.0으로 마이그레이션하고 싶습니다.그래서 저는 공식 문서에 따라 mongodump를 사용하여 제 dbs를 백업하고 mongorerestore를 사용하여 dbs를 mongodb 3.0으로 복원했습니다.
그러나 mongore restore를 사용할 때 "db/collection.bson" 파일을 어떻게 해야 할지 모르겠다는 메시지가 나타나 건너뛰기도 합니다..".
할 것이 없다.db를 어떻게 마이그레이션할 수 있습니까?
감사해요.
편집: 여기 제 단계가 있습니다.
mongodb 2.0에서 mongodump 사용
mongodump
tree dump
db
├── collection-1.bson
├── collection-2.bson
├── collection-3.bson
├── ...
db 디렉토리를 mongodb 3.0 서버에 복사합니다.
mongodb 3.0 서버 호출에서mongorestore db
하지만 다음과 같은 오류가 발생합니다.
mongorestore db
2015-03-10T09:36:26.237+0800 building a list of dbs and collections to restore from db dir
2015-03-10T09:36:26.237+0800 don't know what to do with file "db/collection-1.bson", skipping...
2015-03-10T09:36:26.237+0800 don't know what to do with file "db/collection-2.bson", skipping...
2015-03-10T09:36:26.237+0800 don't know what to do with file "db/collection-3.bson", skipping...
...
2015-03-10T09:36:26.237+0800 done
3.0에서도 다음과 같이 -d를 지정해야 하는 것 같습니다.
mongorestore -d db db
이 답변은 문제 사례와 직접적으로 관련이 없지만 MongoDB 3.2 버전 이후 사용 가능한 Mongo 데이터(옵션 포함 덤프)를 복원하려고 할 때 수신되는 것과 동일한 오류 출력입니다.이 문제를 해결하려면 다음에서 매개 변수를 지정해야 합니다.mongorestore
지휘권예:
mongorestore -d destination_db --gzip /path/to/source/db
mongoDb를 분실한 경우 다음 명령을 실행해 보십시오.
mongorestore -d destination-db --gzip source-db
위치:
destination-db
대상 데이터베이스의 이름입니다.source-db
원본 데이터베이스의 이름입니다.
mongodb로 데이터를 가져오려면 mongorestore 함수에서 이름과 경로로 --db 구성을 지정해야 합니다. 이것은 bson 및 json 파일에 대해서도 작동합니다.
mongorestore --db <dbName> <dbPath>
mongocli를 사용하여 데이터를 올바르게 가져왔는지 확인합니다.
mongo
show databases
use <dbName>
show collections
mongoDB 6.0에서 다음 명령어가 작동했습니다.
mongorestore --host localhost --port 27017 --db DB-NAME DB-BACKUP-PATH
DB-NAME 및 DB-BACKUP-PATH를 실제 값으로 대체하십시오.예를 들면.
mongorestore --host localhost --port 27017 --db demo_db /home/ubuntu/db-backup
여기서 "/home/ubuntu/db-backup"에는 bson 및 json 형식의 모든 컬렉션이 포함됩니다.
이거 드셔보세요.
mongorestore -db dataBaseName dataBasePath
당신의 상황과 직접적으로 관련이 없지만 누군가가 이러한 이유로 비슷한 오류로 이 게시물을 우연히 발견할 수 있습니다.
저의 경우, 데이터는 저에게 제공되었고 다음을 사용하여 버렸습니다.
mongodump --db ${DB_NAME} --gzip -o ${BACKUP_FILE_GZ}
복원하려면 다음 형식을 사용해야 합니다.
mongorestore --gzip --db "${DB_NAME_RESTORE}" ${BACKUP_FILE_GZ}/${DB_NAME}
mongore restore를 사용하는 경우 이러한 덤프 파일의 경로는 필수 매개 변수입니다. 지금까지 db를 표시하여 올바른 경로를 확인할 수 있습니다.
또한 Peter가 /d 스위치를 사용하여 덤프 파일을 컬렉션으로 복원하는 데이터베이스를 지정하는 것도 좋은 방법입니다.
이와 씨름하면서 미처 깨닫지 못한 것은 복원을 소비하기 위해서는 몽고드가 달려야 한다는 것입니다.mongod가 하나 이상 실행 중인 경우 --port 스위치가 있는 포트를 지정해야 합니다.제게 효과가 있었던 코드는 다음과 같습니다.
mongod --dbpath config --port 27019 --logpath log.config --logappend
다른 CLI에서는 다음과 같습니다.
mongorestore --port 27019 /d config config
다음에
mongo localhost:27019/config
컬렉션이 제대로 채워졌는지 확인합니다.
당신은 달리고 싶습니다.mongorestore
에서.dump
디렉터리가db/
디렉토리입니다.
mongorestore dump/
mongorestore --uri "mongodb+srv://<user>:<password>@<host>" -d <dbname> <dump dir. address ./something/like/this>
이 일은 저에게 좋습니다.
docker를 사용하여 mongodb 인스턴스를 시작하고 데이터베이스에 대한 기본 사용자 이름과 암호 인증을 설정했습니다.다음은 복원 상태입니다.
mongorestore --authenticationDatabase admin -u root -p example -d test-db /data/test-db
요컨대 이런 종류의 것이 효과가 있을 것입니다.
mongorestore --authenticationDatabase admin -u {USERNAME} -p {PASSWORD} -d {DB_NAME} {/DUMP_PATH}
언급URL : https://stackoverflow.com/questions/28954884/mongorestore-dont-know-what-to-do-with-file-db-collection-bson-skipping
'programing' 카테고리의 다른 글
bash 스크립트를 한 줄씩 어떻게 실행합니까? (0) | 2023.04.29 |
---|---|
Java 8에서 SQL Server JDBC 오류: 드라이버가 SSL(Secure Sockets Layer) 암호화를 사용하여 SQL Server에 대한 보안 연결을 설정할 수 없습니다. (0) | 2023.04.29 |
Xcode 빌드 오류 "아키텍처 x86_64에 대한 정의되지 않은 기호" (0) | 2023.04.29 |
Postgre에서 PL/pgSQL 출력 저장CSV 파일에 대한 SQL (0) | 2023.04.29 |
하나의 CTE를 여러 번 사용 (0) | 2023.04.29 |