在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?或者我应该为它做另一个查询
1条答案
按热度按时间pes8fvy91#
MongoDB\UpdateResult
中没有getUpsertedIds
方法,但是有getUpsertedId
,当更新多个文档source时,应该返回null
。当updateOne
没有更改匹配条件中的文档属性时,可以通过find获取updateOne
调用中匹配的文档。