반응형
새로운 문서의 Mongodb php get id?
문서 작성:
$db->collection->insert($content);
// $newDocID = ???
새 문서의 ID를 알아내려고 합니다. 어떻게요?감사해요.
문서에 따라 전달하는 배열insert로 수정됩니다._id필드:
$db->collection->insert($content);
$newDocID = $content['_id'];
삽입하기 전에 _id를 얻을 수도 있습니다.새로운 MongoIdie로 문서화할 _id 필드를 추가하기만 하면 됩니다.
$content['_id'] = new MongoId();
$db->collection->insert($content);
또한 다음과 같은 이점도 있습니다.
- 이전 답변에서 ZagNut이 댓글에 올린 것처럼 fsync 플래그가 필요하지 않습니다.따라서 DB의 회신을 기다릴 필요가 없습니다.
- ID를 얻기 위해 DB에 실제로 아무것도 삽입할 필요가 없습니다.따라서 관련 개체를 준비한 다음 삽입하거나 삽입하지 않을 수 있습니다. mongo가 지원하지 않는 트랜잭션(아직?)과 비슷합니다.
- 실제로 db가 아닌 애플리케이션에서 id를 생성할 수 있으므로 삽입 전후에 원하는 작업을 수행할 수 있습니다.
이것은 나에게 도움이 됩니다.
$insertResult = $collection->insertOne($object);
$id = $insertResult->getInsertedId();
$newDocument = $db->collection->findAndModify ( $row, $row, null, array('new'=>true,'upsert' => true));
$strId = $newDocument['_id']->{'$id'};
http://php.net/manual/en/mongocollection.findandmodify.php
언급URL : https://stackoverflow.com/questions/4525556/mongodb-php-get-id-of-new-document
반응형
'programing' 카테고리의 다른 글
| Flask dev 서버를 실행하는 이유는 무엇입니까? (0) | 2023.07.06 |
|---|---|
| 스프링 부트 구성 요소스캔 제외제외하지 않는 필터 (0) | 2023.07.06 |
| Count에 기반한 IFELL 문을 사용하여 다른 Insert 문 (0) | 2023.07.06 |
| CURL을 통해 모든 장치에 Firebase 알림을 보내는 방법은 무엇입니까? (0) | 2023.07.06 |
| Vuejs에서 무한한 시계 루프를 찾을 방법이 있습니까? (0) | 2023.07.06 |