PHP를 사용하여 MongoDB에서 실시간 데이터 동기화를 달성하는 방법
PHP를 설치하고 MongoDB 드라이버를 활성화합니다. 종속성을 설치합니다:
sudo pecl install mongodb
MongoDB에 연결
먼저 MongoDB에 연결하려면 PHP로 코드를 작성해야 합니다. 다음은 간단한 예입니다.
원본 데이터베이스와 대상 데이터베이스에서 컬렉션 가져오기
데이터를 동기화하기 전에 원본 데이터베이스와 대상 데이터베이스에서 컬렉션을 가져와야 합니다. 다음은 간단한 예입니다.
selectDatabase("source_database"); $targetDB = $mongoClient->selectDatabase("target_database"); $sourceCollection = $sourceDB->selectCollection("source_collection"); $targetCollection = $targetDB->selectCollection("target_collection"); ?>
소스 데이터베이스의 변경 사항을 수신합니다.
실시간 데이터 동기화를 달성하려면 소스 데이터베이스의 변경 사항을 수신해야 합니다. MongoDB는 데이터베이스의 모든 변경 작업을 캡처하여 스트리밍 이벤트로 전송할 수 있는 변경 스트림 기능을 제공합니다. 다음은 소스 데이터베이스의 변경 사항을 수신하는 예입니다.
watch(); foreach ($changeStream as $change) { // 处理变更事件 } ?>
작업 유형에 따라 해당 데이터 동기화 작업을 수행할 수 있습니다. 다음은 간단한 예입니다.
insertOne($insertedDocument); break; case "update": // 获取更新后的文档 $updatedDocument = $change['fullDocument']; // 获取更新前的文档 $previousDocument = $change['documentKey']; // 更新目标数据库中的文档 $targetCollection->replaceOne(['_id' => $previousDocument], $updatedDocument); break; case "delete": // 获取删除的文档 $deletedDocument = $change['documentKey']; // 删除目标数据库中的文档 $targetCollection->deleteOne(['_id' => $deletedDocument]); break; } } ?>
전체 예
다음은 PHP를 사용하여 MongoDB에서 실시간 데이터 동기화를 달성하는 방법을 보여주는 전체 예 코드입니다.
selectDatabase("source_database"); $targetDB = $mongoClient->selectDatabase("target_database"); $sourceCollection = $sourceDB->selectCollection("source_collection"); $targetCollection = $targetDB->selectCollection("target_collection"); $changeStream = $sourceCollection->watch(); foreach ($changeStream as $change) { $operationType = $change['operationType']; switch ($operationType) { case "insert": $insertedDocument = $change['fullDocument']; $targetCollection->insertOne($insertedDocument); break; case "update": $updatedDocument = $change['fullDocument']; $previousDocument = $change['documentKey']; $targetCollection->replaceOne(['_id' => $previousDocument], $updatedDocument); break; case "delete": $deletedDocument = $change['documentKey']; $targetCollection->deleteOne(['_id' => $deletedDocument]); break; } } ?>
요약
이 문서에서는 PHP 언어를 사용하여 프로그래밍하는 방법을 설명합니다. MongoDB에서 실시간 데이터 동기화를 가능하게 합니다. 두 MongoDB 데이터베이스 간의 실시간 데이터 동기화는 소스 데이터베이스의 변경 이벤트를 수신하고 다양한 작업 유형에 따라 해당 데이터 동기화 작업을 수행하여 달성할 수 있습니다. 또한 독자가 이 기술을 더 잘 이해하고 적용할 수 있도록 완전한 샘플 코드도 제공합니다. MongoDB 및 PHP에 대해 자세히 알아보려면 공식 문서와 튜토리얼을 참조하세요.
위 내용은 PHP를 사용하여 MongoDB에서 실시간 데이터 동기화를 달성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!