MongoDB에 데이터 쓰기
개요
이 페이지에서는 MongoDB 에 데이터를 쓰기 위한 일반적인 MongoDB PHP 라이브러리 메서드를 보여주는 복사 가능한 코드 예제를 볼 수 있습니다.
팁
이 페이지에 표시된 메서드에 대해 자세히 알아보려면 각 섹션에 제공된 링크를 참조하세요.
이 페이지의 예시 를 사용하려면 코드 예시 를 샘플 애플리케이션 또는 자체 애플리케이션 에 복사합니다. MONGODB_URI
환경 변수를 배포서버 서버의 연결 로 string MongoDB 설정하다 <database>
<collection>
하고 및 자리 표시자를 대상 네임스페이스 값으로 바꿉니다.
샘플 애플리케이션
다음 샘플 애플리케이션을 사용하여 이 페이지의 코드 예제를 테스트할 수 있습니다. 샘플 애플리케이션을 사용하려면 다음 단계를 수행하세요.
프로젝트 에 MongoDB PHP 라이브러리가 설치되어 있는지 확인합니다. MongoDB PHP 라이브러리 설치에 학습 보려면 다운로드 및 설치 가이드 를 참조하세요.
다음 코드를 복사하여 새
.php
파일에 붙여넣습니다.이 페이지에서 코드 예제를 복사하여 파일의 지정된 줄에 붙여넣습니다.
1 2 3 require __DIR__ . '/../vendor/autoload.php'; 4 5 $uri = getenv('MONGODB_URI') ?: throw new RuntimeException('Set the MONGODB_URI variable to your Atlas URI that connects to the sample dataset'); 6 $client = new MongoDB\Client($uri); 7 8 $collection = $client->selectCollection('<database>', '<collection>'); 9 10 // Start example code here 11 12 // End example code here
insertOne
다음 코드는 단일 문서 를 컬렉션 에 삽입하는 방법을 보여줍니다.
$result = $collection->insertOne([ '<field name 1>' => '<value 1>', '<field name 2>' => '<value 2>', ]);
MongoDB\Collection::insertOne()
메서드에 대해 자세히 알아보려면 문서 삽입 가이드를 참조하세요.
여러 항목 삽입
다음 코드는 컬렉션 에 여러 문서를 삽입하는 방법을 보여줍니다.
$result = $collection->insertMany( [ '<field name 1>' => '<value 1>', '<field name 2>' => '<value 2>', ], [ '<field name 1>' => '<value 1>', '<field name 2>' => '<value 2>', ], );
MongoDB\Collection::insertMany()
메서드에 대해 자세히 알아보려면 문서 삽입 가이드를 참조하세요.
UpdateOne
다음 코드는 필드 를 만들거나 편집하여 컬렉션 의 단일 문서 를 업데이트 하는 방법을 보여줍니다.
$result = $collection->updateOne( ['<field to match>' => '<value to match>'], ['$set' => ['<field name>' => '<value>']], );
MongoDB\Collection::updateOne()
메서드에 대해 자세히 알아보려면 문서 업데이트 가이드를 참조하세요.
다중 업데이트
다음 코드는 필드 를 만들거나 편집하여 컬렉션 에 있는 여러 문서를 업데이트 하는 방법을 보여줍니다.
$result = $collection->updateMany( ['<field to match>' => '<value to match>'], ['$set' => ['<field name>' => '<value>']], );
MongoDB\Collection::updateMany()
메서드에 대해 자세히 알아보려면 문서 업데이트 가이드를 참조하세요.
replaceOne
다음 코드는 컬렉션 의 단일 문서 를 다른 문서 로 바꾸는 방법을 보여줍니다.
$result = $collection->replaceOne( ['<field to match>' => '<value to match>'], [ '<new field 1>' => '<value 1>', '<new field 2>' => '<value 2>', ], );
MongoDB\Collection::replaceOne()
메서드에 대해 자세히 알아보려면 문서 교체 가이드를 참조하세요.
deleteOne
다음 코드는 컬렉션 에서 단일 문서 를 삭제 하는 방법을 보여줍니다.
$result = $collection->deleteOne(['<field name>' => '<value>']);
MongoDB\Collection::deleteOne()
메서드에 대해 자세히 알아보려면 문서 삭제 가이드를 참조하세요.
여러 항목 삭제
다음 코드는 컬렉션 에서 여러 문서를 삭제 하는 방법을 보여줍니다.
$result = $collection->deleteMany(['<field name>' => '<value>']);
MongoDB\Collection::deleteMany()
메서드에 대해 자세히 알아보려면 문서 삭제 가이드를 참조하세요.
대량 쓰기
다음 코드는 단일 대량 작업으로 여러 쓰기 (write) 작업을 수행하는 방법을 보여줍니다.
$result = $collection->bulkWrite( [ [ 'insertOne' => [ ['<field name>' => '<value>'], ], ], [ 'replaceOne' => [ ['<field to match>' => '<value to match>'], [ '<first new field>' => '<value>', '<second new field>' => '<value>', ], ], ], [ 'updateOne' => [ ['<field to match>' => '<value to match>'], ['$set' => ['<field to update>' => '<value to update>']], ], ], [ 'updateMany' => [ ['<field to match>' => '<value to match>'], ['$set' => ['<field to update>' => '<value to update>']], ], ], [ 'deleteOne' => [ ['<field name>' => '<value>'], ], ], [ 'deleteMany' => [ ['<field name>' => '<value>'], ], ], ] );
MongoDB\Collection::bulkWrite()
메서드에 대해 자세히 알아보려면 대량 쓰기 가이드를 참조하세요.
대용량 파일 저장
다음 코드는 업로드 스트림 을 생성하여 GridFS 버킷에 파일을 저장 하는 방법을 보여줍니다.
$bucket = $client->selectDatabase('<database name>')->selectGridFSBucket(); $stream = $bucket->openUploadStream('<file name>'); fwrite($stream, '<data>'); fclose($stream);
GridFS 에 학습 보려면 대용량 파일 저장 가이드 를 참조하세요.