[MONGODB] MongoDB의에서 컬렉션을 복제
MONGODBMongoDB의에서 컬렉션을 복제
나는 MongoDB의 수집을 복제하고 다른 이름으로 같은 서버에 저장하고 싶습니다. demo1.categories, demo1.users 및 demo2.users : 그래서 예를 들어 지금 나는 다음 컬렉션을 가지고있다.
나는 "demo1.categories"동일는 "demo2.categories"를 갖고 싶어. (그냥 다른 이름이 있습니다.)
해결법
-
==============================
1.그러나 다시 MongoDB를 문서는 구조에 온다
그러나 다시 MongoDB를 문서는 구조에 온다
컬렉션은 실제로 "demo1.categories"라는 가정 :
db.demo1.categories.find().forEach( function(x){db.demo2.categories.insert(x)} );
-
==============================
2.가장 간단하고 효과적인 방법은 당신이 사용할 수 있도록 사항 copyTo ()를 사용하는 것입니다 :
가장 간단하고 효과적인 방법은 당신이 사용할 수 있도록 사항 copyTo ()를 사용하는 것입니다 :
db.source.copyTo("target");
"대상"존재하지 않는 경우 및, 작성됩니다
- 업데이트 -
사항 copyTo ()를 사용하여 내부적으로 평가 후면 때문에하는 CopyTo 문서에있어서, 상기 복사 동작은 mongod 인스턴스에 다른 모든 동작을 차단한다. 그래서는 프로덕션 환경에 사용해서는 안됩니다.
- 업데이트 -
사용하는 CopyTo ()가 () 버전 3.0 이후 사용되지 않으며, 평가 () 내부 및 평가를 사용하기 때문에 사용하는 CopyTo ()는 또한 버전 3.0 이후 사용되지 않습니다 그래서.
-
==============================
3.이 컬렉션을 복제하는 가장 빠른 방법입니다 :
이 컬렉션을 복제하는 가장 빠른 방법입니다 :
mongoexport -d db_name -c src_collection | mongoimport -d db_name -c dst_collection --drop
그것은 dst_collection에 DB_NAME에 src_collection을 복제해야합니다. 또는 당신은 bson 수준에서 두 단계에서 그것을 할 수 있습니다 :
mongodump -d db_name -c src_collection mongorestore --drop -d db_name -c dst_collection ./dump/db_name/src_collection.bson
-
==============================
4.가장 빠른 옵션은
가장 빠른 옵션은
db.myoriginal.aggregate([ { $out: "mycopy" } ])
-
==============================
5.이미이에 대한 명령이 있습니다.
이미이에 대한 명령이 있습니다.
한 서버에서 다른 서버로 하나의 콜렉션을 복사합니다. http://www.mongodb.org/display/DOCS/cloneCollection+Command
-
==============================
6.당신은 다음 속도에 대해 우려하고 있다면 나는 $ 프로젝트와 총을 사용하여 해당을 발견하고 $ 밖으로 빨리 100 번으로하지 않도록이 비록 제한이 있습니다,하지만 당신은 당신이 원하는 거라고 필드의 집합을 생성해야하는 경우 사본 예를 들면 :
당신은 다음 속도에 대해 우려하고 있다면 나는 $ 프로젝트와 총을 사용하여 해당을 발견하고 $ 밖으로 빨리 100 번으로하지 않도록이 비록 제한이 있습니다,하지만 당신은 당신이 원하는 거라고 필드의 집합을 생성해야하는 경우 사본 예를 들면 :
// Set of fields in the categories collection var setOfFields = {field1:1, field2:1.......} db.demo1.categories.aggregate([{ "$project": setOfFields},{ $out: "demo2.categories"}]);
이 사본 (사업) demo2.categories에 demo1.categories 모든 문서 필드의 선택 세트
-
==============================
7.DB_HOST가 DB_HOST가 복제 할 것을 수집과 DB를 가지고있는 기계가 어디 몽고 콘솔에서, 당신은뿐만 아니라 다음을 수행 할 수 있습니다.
DB_HOST가 DB_HOST가 복제 할 것을 수집과 DB를 가지고있는 기계가 어디 몽고 콘솔에서, 당신은뿐만 아니라 다음을 수행 할 수 있습니다.
사용하다 db.cloneCollection ()
from https://stackoverflow.com/questions/8933307/clone-a-collection-in-mongodb by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 다른 컬렉션에 하나 개의 컬렉션에서 MongoDB를 이동 문서 (0) | 2019.12.21 |
---|---|
[MONGODB] $ 생략하고 통합 프레임 워크에서 $ 한계 (0) | 2019.12.21 |
[MONGODB] MongoDB를 작동하지 않습니다. "ERROR : DBPATH (/ 데이터 / DB)가 존재하지 않습니다." (0) | 2019.12.21 |
[MONGODB] 몽구스 제한 / 오프셋 및 계산 쿼리 (0) | 2019.12.21 |
[MONGODB] 어떻게 몽구스과 ObjectId가를 생성 할 수 있습니까? (0) | 2019.12.21 |