Создание документа:
$db->collection->insert($content); // $newDocID = ???
Я пытаюсь получить идентификатор нового документа. Как? Благодарю.
Согласно документам, в массив, который вы передаете insert
будут внесены изменения с помощью поля _id
:
$db->collection->insert($content); $newDocID = $content['_id'];
Вы также можете получить _id перед вставкой. Просто добавьте поле _id в документ с новым MongoId, т.е.
$content['_id'] = new MongoId(); $db->collection->insert($content);
Также есть хорошие преимущества:
Это работает для меня:
$insertResult = $collection->insertOne($object); $id = $insertResult->getInsertedId();
$newDocument = $db->collection->findAndModify ( $row, $row, null, array('new'=>true,'upsert' => true)); $strId = $newDocument['_id']->{'$id'};