2012-07-25 3 views
2

데이터를 전송할 때 "find()"조건을 사용할 수 있는지 여부를 고려하여 MongoDB의 한 컬렉션에서 다른 컬렉션으로 데이터 또는 레코드를 전송할 수있는 방법을 알아야합니다. 하나는 다른 컬렉션.MongoDB - 데이터를 하나의 컬렉션에서 다른 컬렉션으로 전송

알고있는 경우 Google 참조 정보를 공유하십시오.

참고 : 대형 컬렉션 (이 컬렉션에서 가진 행 수)에서 PHP를 사용하여 기록을 가져 오는 경우

다음과 같은 오류 우리가지고있다.

오류 :

"아니오 인덱스 오류와 종류에 대한 너무 많은 데이터()"그것은 우리가 논의 MongoDB를 콘솔을 사용하여 다른 컬렉션에 하나 개의 컬렉션에서 데이터를 전송하는 이유.

  • Kumaran

답변

4

첫째, 난 당신이 가능한 경우에 find() 쿼리를 실행하는 무엇에 인덱스를 만드는 게 좋을 것, ensureIndex() ...

콘솔에서 문서를 전송하는 방법은 다음과 같습니다.

> use source_database; 
> var docs = db.source_collection.find({ something: 'foo' }); 
> use new_database; 
> docs.forEach(function(doc) { db.new_collection.insert(doc) }); 

자세한 내용은이 과정을 자세히 설명하는 blog post을 확인하십시오.

2

당신은 몽고에서 직접 작업을 수행 할 수 있습니다

db.source.find(some_conditions).forEach(function(doc){db.dest.save(doc)}) 
관련 문제