PHP의 Mongo 드라이버에는 renameCommand 함수가 없습니다. There is reference은 admin 데이터베이스를 통해이를 수행합니다. 그러나 최근 버전의 Mongo 드라이버는 해당 데이터베이스에 대한 로그인 권한이없는 경우 관리 데이터베이스를 "사용"하지 않습니다. 따라서이 방법은 더 이상 작동하지 않습니다. 나는 이것이 현재 나를 걱정하지 않지만 샤르드 환경에서는 작동하지 않는다는 것도 읽었습니다.PHP에서 몽고 컬렉션 이름 바꾸기
다른 사람들은 "from"컬렉션을 반복하고 "to"컬렉션에 삽입해야한다고 생각합니다. 적절한 WriteConcern (fire and forget)을 사용하면 상당히 빠를 수 있습니다. 그러나 여전히 네트워크를 통해 각 레코드를 PHP 프로세스로 끌어온 다음 다시 네트워크를 통해 데이터베이스로 다시 업로드하는 것을 의미합니다.
나는 모든 서버 쪽에서 그것을하는 것이 가장 이상적이다. SQL에서 INSERT INTO ... SELECT ...와 같은 정렬. 이 방법은 빠르고 네트워크 효율이 높으며 PHP에 대한 부하가 적습니다.
MR 두 모음 사이의 문서 구조를 변경됩니다, 당신은 당신이 올바른 인증을 – Sammaye
네이있는 경우 관리자 데이터베이스를 "사용"할 수 있어야한다, 나는 내가 알아 차리지 않았다으로 조기에이 게시 실현 구조가 바뀐다. 나는 현재지도/축소 작업을 할 수있는 방법을 알아 내려고 노력하고 있습니다. –
MongoDB가 결과 문서를 작성하고 작성하는 방법은 근본적으로는 줄이긴하지만 내부적으로는 문제가되지 않습니다. 사실 문서 당 하나의 키만 반환해야하므로 MongoDBs reduce는이 경우 실행되지 않습니다. – Sammaye