PHP mongodb获取插入和更新ID的?

qco9c6ql  于 2023-11-16  发布在  PHP
关注(0)|答案(1)|浏览(130)

在Mongodb Collection中更新或插入记录时,我试图获取插入ID或更新ID:
我得到的错误是:

Fatal error :  Uncaught Error: Call to undefined method MongoDB\UpdateResult::getUpsertedIds() in **/***/****.php:64
Stack trace:

字符串
代码插入或更新成功,但我无法获得受影响的原始ID:

$collection = $this->api->MDB->getCollection("verify_code", $db_name = "auth")->email;
                    
                $collection->createIndex(
                        array( "email" => 1 ),
                        array( "unique" => true )
                );
                    
                $document = array("email" => $data['email'],
                                  "code" => 232);
                
                $result = $collection->updateOne(
                    array("email" => $document["email"]),
                    array('$set' => $document,'$setOnInsert' => ['created_at' => time()]),
                    array("upsert" => true)
                );
                
                echo "<pre>";
                echo $result->getUpsertedIds();
                print_r($result);


是否有可能得到受影响的原始ID?或者我应该为它做另一个查询

pes8fvy9

pes8fvy91#

MongoDB\UpdateResult中没有getUpsertedIds方法,但是有getUpsertedId,当更新多个文档source时,应该返回null。当updateOne没有更改匹配条件中的文档属性时,可以通过find获取updateOne调用中匹配的文档。

相关问题