ANNOUNCEMENT: Voyage AI joins MongoDB to power more accurate and trustworthy AI applications on Atlas.
Learn more
Docs Menu

MongoDB에 데이터 쓰기

이 페이지에서는 MongoDB 에 데이터를 쓰기 위한 일반적인 MongoDB PHP 라이브러리 메서드를 보여주는 복사 가능한 코드 예제를 볼 수 있습니다.

이 페이지에 표시된 메서드에 대해 자세히 알아보려면 각 섹션에 제공된 링크를 참조하세요.

이 페이지의 예시 를 사용하려면 코드 예시 를 샘플 애플리케이션 또는 자체 애플리케이션 에 복사합니다. MONGODB_URI 환경 변수를 배포서버 서버의 연결 로 string MongoDB 설정하다 <database> <collection> 하고 및 자리 표시자를 대상 네임스페이스 값으로 바꿉니다.

다음 샘플 애플리케이션을 사용하여 이 페이지의 코드 예제를 테스트할 수 있습니다. 샘플 애플리케이션을 사용하려면 다음 단계를 수행하세요.

  1. 프로젝트 에 MongoDB PHP 라이브러리가 설치되어 있는지 확인합니다. MongoDB PHP 라이브러리 설치에 학습 보려면 다운로드 및 설치 가이드 를 참조하세요.

  2. 다음 코드를 복사하여 새 .php 파일에 붙여넣습니다.

  3. 이 페이지에서 코드 예제를 복사하여 파일의 지정된 줄에 붙여넣습니다.

1<?php
2
3require __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

다음 코드는 단일 문서 를 컬렉션 에 삽입하는 방법을 보여줍니다.

$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() 메서드에 대해 자세히 알아보려면 문서 삽입 가이드를 참조하세요.

다음 코드는 필드 를 만들거나 편집하여 컬렉션 의 단일 문서 를 업데이트 하는 방법을 보여줍니다.

$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() 메서드에 대해 자세히 알아보려면 문서 업데이트 가이드를 참조하세요.

다음 코드는 컬렉션 의 단일 문서 를 다른 문서 로 바꾸는 방법을 보여줍니다.

$result = $collection->replaceOne(
['<field to match>' => '<value to match>'],
[
'<new field 1>' => '<value 1>',
'<new field 2>' => '<value 2>',
],
);

MongoDB\Collection::replaceOne() 메서드에 대해 자세히 알아보려면 문서 교체 가이드를 참조하세요.

다음 코드는 컬렉션 에서 단일 문서 를 삭제 하는 방법을 보여줍니다.

$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 에 학습 보려면 대용량 파일 저장 가이드 를 참조하세요.