Docs Menu
Docs Home
/ / /
PHP 라이브러리 매뉴얼
/ /

MongoDB\Collection::insertOne()

이 페이지의 내용

  • 정의
  • 매개변수
  • Return Values
  • 오류/예외
  • 행동
  • 예시
  • 다음도 참조하세요.
MongoDB\Collection::insertOne()

문서 하나를 삽입합니다.

function insertOne(
array|object $document,
array $options = []
): MongoDB\InsertOneResult
$document : 배열|객체
컬렉션에 삽입할 문서입니다.
$options : 배열

원하는 옵션을 지정하는 배열입니다.

이름
유형
설명
bypassDocumentValidation
부울
true인 경우 쓰기 작업이 문서 수준 유효성 검사를 우회하도록 허용합니다. 기본값은 false입니다.
코덱
MongoDB\Codec\DocumentCodec

문서 인코딩 또는 디코딩에 사용할 코덱 입니다. 이 옵션은 typeMap 옵션과 상호 배타적입니다.

컬렉션의 코덱을 기본값으로 설정합니다. 기본 codec 옵션의 상속은 typeMap 옵션의 상속보다 우선합니다.

버전 1.17에 추가 되었습니다.

comment
혼합

사용자가 데이터베이스 프로파일러, currentOp 출력 및 로그를 통해 작업을 추적하는 데 도움이 되는 임의의 주석을 지정할 수 있습니다.

이 옵션은 MongoDB 4.4부터 사용할 수 있으며 이전 서버 버전에 대해 지정된 경우 실행 시 예외가 발생합니다.

버전 1.13에 새로 추가되었습니다.

Session

작업과 연결할 클라이언트 세션입니다.

버전 1.3에 새로 추가되었습니다.

쓰기 고려

작업에 사용할 고려를 씁니다 . 기본값은 컬렉션의 쓰기 고려입니다.

트랜잭션의 일부로 개별 작업에 대한 쓰기 고려를 지정할 수 없습니다. 대신 트랜잭션을시작할 때 writeConcern 옵션을 설정합니다.

MongoDB\Driver\WriteResult MongoDB\InsertOneResult 를 캡슐화하는 객체 객체.

MongoDB\Exception\InvalidArgumentException 매개변수 또는 옵션의 구문 분석과 관련된 오류의 경우입니다.

MongoDB\Driver\Exception\BulkWriteException 쓰기 작업과 관련된 오류의 경우. 사용자는 getWriteResult() 가 반환한 값을 검사해야 합니다. 오류의 특성을 확인합니다.

MongoDB\ 드라이버\Exception\RuntimeException 확장 수준의 다른 오류(예: 연결 오류).

MongoDB\Driver\Exception\BulkWriteException이 이 발생하면 사용자는 getWriteResult() 를 호출해야 합니다. 반환된 MongoDB\Driver\WriteResult 를 검사합니다. 객체를 사용하여 오류의 특성을 확인합니다.

예를 들어 쓰기 작업이 프라이머리 서버에 성공적으로 적용되었지만 쓰기 고려를 충족하지 못했을 수 있습니다(예시: 복제가 너무 오래 걸렸습니다). 또는 쓰기 작업이 완전히 실패했을 수 있습니다(예시: 고유 키 위반).

다음 작업은 test 데이터베이스의 users 컬렉션에 문서를 삽입합니다.

<?php
$collection = (new MongoDB\Client)->test->users;
$insertOneResult = $collection->insertOne([
'username' => 'admin',
'email' => 'admin@example.com',
'name' => 'Admin User',
]);
printf("Inserted %d document(s)\n", $insertOneResult->getInsertedCount());
var_dump($insertOneResult->getInsertedId());

이 경우 출력은 다음과 유사합니다:

Inserted 1 document(s)
object(MongoDB\BSON\ObjectId)#11 (1) {
["oid"]=>
string(24) "579a25921f417dd1e5518141"
}

돌아가기

insertMany()