source

기존 mongodb에서 단일 컬렉션 복원

manycodes 2023. 5. 16. 22:46
반응형

기존 mongodb에서 단일 컬렉션 복원

단일 컬렉션을 기존 데이터베이스에 복원할 수 없습니다.저는 mongo 버전 2.6.7로 Ubuntu 14.04를 실행하고 있습니다. 제 홈 디렉토리에 기반한 dump/mydbname/contents.bson이 있습니다.

내가 뛰면,

mongorestore --collection contents --db mydbname

그러면 다음과 같은 것을 알 수 있습니다.

connected to: 127.0.0.1
don't know what to do with file [dump]

경로를 추가하면,

mongorestore --collection contents --db mydbname --dbpath dump/mydbname

그러면 나는.

If you are running a mongod on the same path you should connect to that instead of direct data file access

저는 다양한 조합, 옵션 등을 시도해 보았지만 도저히 이해할 수가 없어서 커뮤니티에 도움을 요청합니다!

단일 컬렉션을 복원하려면 컬렉션의 덤프 파일을 지정해야 합니다.컬렉션의 덤프 파일은 'dump/dbname/' 폴더에 있습니다.따라서 덤프 폴더가 현재 작업 디렉터리에 있다고 가정하면 명령은 다음과 같습니다.

mongorestore --db mydbname --collection mycollection dump/mydbname/mycollection.bson

저는 이것이 이제 끝났다고 생각합니다.--nsInclude옵션:

mongorestore --nsInclude test.purchaseorders dump/

dump/mongodump 데이터가 있는 폴더입니다.testdb이고, 그리고purchaseorders컬렉션입니다.

https://docs.mongodb.com/manual/reference/program/mongorestore/

mongodb의 특정 컬렉션을 복원하는 단계입니다.

덤프 폴더가 있는 디렉터리로 이동합니다.

DB 이름과 컬렉션 이름에 따라 수정하여 다음 명령을 실행합니다.

mongorestore --db mydbname --collection mycollection dump/mydbname/mycollection.bson

만약 당신이Failed: yourdbname.collection.name: error creating indexes for collection.name: createIndex error: The field 'safe' is not valid for an index specification error그런 다음 다음 명령을 사용할 수 있습니다.

mongorestore --db mydbname --collection mycollection dump/mydbname/mycollection.bson --noIndexRestore

여러 컬렉션을 복원하는 경우 루프를 사용할 수 있습니다.

for file in "$HOME/mongodump/dev/<your-db>/"* ; do

  if [[ "$file" != "*metadata*" && "$file" != "system.*" && "$file" != "locks.*" ]]; then

    file="$(basename "$file”)"

    mongorestore \
        --db cdt_dev \
        --collection "${file%.*}" \   # filename w/o extension
        --host "<your-host>" \
        --authenticationDatabase "<your-auth-db>" \
        -u "user" \
        -p "pwd" \
        "$HOME/mongodump/dev/<your-db>/$file"

  fi;

done

언급URL : https://stackoverflow.com/questions/28640281/restoring-single-collection-in-an-existing-mongodb

반응형