在 MongoDB PHP 中插入后获取插入的文档对象 ID

Get inserted document's ObjectID after insert in MongoDB PHP

我用 php 向 mongodb 插入了一行,我需要获取该行的 is。

<?php
$mongoconnect=new MongoClient();
$mongo=$mongoconnect->smartpass;
$user=$mongo->test->insert(array("test"=>"test"));
foreach($user as $doc){
    $user_a[]=$doc;
}
var_dump($user_a);
?>

结果不包含"_id"

insert 方法不 return(修改后的)文档,而只是一个状态对象。

相反,您必须传递一个命名变量,以便您可以访问修改后的变量进行读取。如文档中所述]1:

// If an array literal is used, there is no way to access the generated _id
$collection->insert(array('x' => 1));

// The _id is available on an array passed by value
$a = array('x' => 2);
$collection->insert($a);
var_dump($a);