函数名称:MongoDB\Driver\WriteResult::getUpsertedIds()
函数描述:该函数用于获取插入操作中的所有新增记录的_id值。
函数参数:无
返回值:一个关联数组,其中键是插入操作中的_id值,值是插入操作中对应记录的索引位置。
适用版本:MongoDB PHP扩展版本1.2.0及以上
用法示例:
// 假设已经建立了MongoDB连接和选择了合适的数据库和集合
// 创建一个插入操作
$bulk = new MongoDB\Driver\BulkWrite;
// 添加要插入的文档
$bulk->insert(['name' => 'John Doe', 'age' => 25]);
$bulk->insert(['name' => 'Jane Smith', 'age' => 30]);
// 执行插入操作
$result = $manager->executeBulkWrite('database.collection', $bulk);
// 获取新增记录的_id值
$upsertedIds = $result->getUpsertedIds();
// 打印新增记录的_id值
foreach ($upsertedIds as $index => $id) {
echo "Inserted document at index $index with _id: $id\n";
}
上述示例中,我们首先创建了一个插入操作,并添加了两个文档。然后,我们执行了插入操作,并将结果保存在$result变量中。最后,我们使用getUpsertedIds()函数获取了新增记录的_id值,并通过foreach循环打印出来。
注意:在执行插入操作时,如果插入的文档中包含了_id字段,且该字段的值在数据库中已存在,则不会生成新的_id值,因此在这种情况下,getUpsertedIds()函数返回的数组将为空。