
MongoDBDriverWriteResult::getUpsertedIds 메서드는 업서트된 아이디를 반환하는 메서드입니다. 그러나 이 메서드는 항상 null을 반환하는 이유는 다음과 같습니다.
- 업서트된 아이디가 없을 때 null을 반환합니다.
- 업서트된 아이디가 여러 개일 때, null을 반환하지 않고 업서트된 아이디의 목록을 반환합니다.
- 업서트된 아이디를 가져오기 전에, MongoDB의 업서트 옵션을 설정해야 합니다. MongoDB의 업서트 옵션을 설정하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$writeConcern = new MongoDBDriverWriteConcern(MongoDBDriverWriteConcern::MAJORITY, 1000);
$bulk = new MongoDBDriverBulkWrite;
$bulk->insert(['_id' => 1, 'name' => 'John']);
$bulk->update(['_id' => 1], ['$set' => ['age' => 30]], ['upsert' => true]);
$manager = new MongoDBDriverManager('mongodb://localhost:27017');
$writeResult = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
$upsertedIds = $writeResult->getUpsertedIds();
위의 예제에서, 업서트된 아이디를 가져오기 위해 MongoDB의 업서트 옵션을 설정하고, 업서트된 아이디를 가져오는 메서드를 사용했습니다.
2025-06-16 10:03