Ответ 1
В соответствии с документами в массив, который вы передадите на insert
, будут внесены изменения с полем _id
:
$db->collection->insert($content);
$newDocID = $content['_id'];
Создание документа:
$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'};